2018-11-01T00:10:17Z eddof13 quit (Quit: eddof13) 2018-11-01T00:12:38Z eddof13 joined #scheme 2018-11-01T00:16:35Z robotoad joined #scheme 2018-11-01T00:24:38Z eddof13 quit (Quit: eddof13) 2018-11-01T00:25:46Z zachk quit (Quit: Leaving) 2018-11-01T00:36:02Z pierpa joined #scheme 2018-11-01T00:38:35Z astronavt joined #scheme 2018-11-01T00:38:58Z astronavt quit (Remote host closed the connection) 2018-11-01T01:26:19Z jcowan joined #scheme 2018-11-01T01:37:57Z dTal: I had a little watershed moment a week or so back - I designed and implemented a recursive algorithm to solve a task I was being paid to solve. Not out of playfulness, but simply because it seemed like the right way to do it. 2018-11-01T01:38:32Z dTal: It may not be much for some, but that's the first time that's happened to me. Especially pleasingly, it worked perfectly first time. 2018-11-01T01:43:50Z Riastradh: Cool! 2018-11-01T01:46:06Z qu1j0t3: dTal: :) 2018-11-01T01:56:30Z jonaslund quit (Read error: Connection reset by peer) 2018-11-01T01:56:54Z jonaslund joined #scheme 2018-11-01T02:04:03Z robotoad quit (Quit: robotoad) 2018-11-01T02:11:17Z pie__ joined #scheme 2018-11-01T02:16:51Z pie__ quit (Ping timeout: 252 seconds) 2018-11-01T02:27:31Z robotoad joined #scheme 2018-11-01T02:30:36Z on_ion quit (Ping timeout: 252 seconds) 2018-11-01T02:32:50Z on_ion joined #scheme 2018-11-01T02:47:06Z daviid quit (Ping timeout: 252 seconds) 2018-11-01T03:05:25Z payphone quit (Quit: WeeChat 2.1) 2018-11-01T03:23:09Z daviid joined #scheme 2018-11-01T03:25:25Z robotoad quit (Quit: robotoad) 2018-11-01T03:27:57Z robotoad joined #scheme 2018-11-01T03:47:56Z robotoad quit (Quit: robotoad) 2018-11-01T03:48:00Z dsp joined #scheme 2018-11-01T03:49:46Z robotoad joined #scheme 2018-11-01T04:04:23Z keep_learning quit (Remote host closed the connection) 2018-11-01T04:14:56Z jao quit (Ping timeout: 272 seconds) 2018-11-01T04:21:46Z pierpa quit (Quit: Page closed) 2018-11-01T04:28:19Z robotoad quit (Quit: robotoad) 2018-11-01T04:32:42Z daviid quit (Ping timeout: 252 seconds) 2018-11-01T04:35:21Z robotoad joined #scheme 2018-11-01T05:01:04Z catonano joined #scheme 2018-11-01T05:30:55Z catonano quit (Quit: catonano) 2018-11-01T05:38:34Z erkin quit (Quit: Ouch! Got SIGIRL, dying...) 2018-11-01T05:39:58Z erkin joined #scheme 2018-11-01T05:45:18Z hive-mind quit (Ping timeout: 252 seconds) 2018-11-01T05:47:19Z TheGreekOwl joined #scheme 2018-11-01T05:54:59Z erkin quit (Quit: Ouch! Got SIGIRL, dying...) 2018-11-01T05:56:40Z catonano joined #scheme 2018-11-01T05:56:43Z TheGreekOwl quit (Ping timeout: 245 seconds) 2018-11-01T05:58:17Z erkin joined #scheme 2018-11-01T05:58:47Z hive-mind joined #scheme 2018-11-01T06:01:39Z elderK joined #scheme 2018-11-01T06:07:34Z keep_learning joined #scheme 2018-11-01T06:17:08Z dieggsy quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-01T06:18:31Z dieggsy joined #scheme 2018-11-01T06:21:07Z skapata quit (Ping timeout: 240 seconds) 2018-11-01T06:23:20Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-01T06:23:37Z skapata joined #scheme 2018-11-01T06:26:48Z dieggsy quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-01T06:27:13Z dieggsy joined #scheme 2018-11-01T06:27:34Z dieggsy quit (Client Quit) 2018-11-01T06:27:54Z dieggsy joined #scheme 2018-11-01T06:32:12Z muelleme joined #scheme 2018-11-01T06:55:30Z robotoad quit (Quit: robotoad) 2018-11-01T06:58:47Z muelleme quit (Ping timeout: 268 seconds) 2018-11-01T07:00:36Z pie_ joined #scheme 2018-11-01T07:19:21Z ByronJohnson quit (Ping timeout: 252 seconds) 2018-11-01T07:20:10Z ByronJohnson joined #scheme 2018-11-01T07:45:31Z skapata quit (Quit: Ĝis!) 2018-11-01T07:50:35Z nly quit (Ping timeout: 268 seconds) 2018-11-01T07:54:34Z muelleme joined #scheme 2018-11-01T07:55:36Z johnvonneuman joined #scheme 2018-11-01T07:59:30Z muelleme quit (Ping timeout: 252 seconds) 2018-11-01T08:04:34Z vyzo quit (Quit: Leaving.) 2018-11-01T08:20:45Z ggole joined #scheme 2018-11-01T08:24:53Z pie__ joined #scheme 2018-11-01T08:28:54Z pie_ quit (Ping timeout: 272 seconds) 2018-11-01T08:37:22Z lritter joined #scheme 2018-11-01T08:44:49Z ManDay joined #scheme 2018-11-01T08:47:44Z catonano quit (Quit: catonano) 2018-11-01T09:02:34Z kappa quit (Quit: Ping timeout (120 seconds)) 2018-11-01T09:07:05Z Zaab1t joined #scheme 2018-11-01T09:11:18Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-01T09:12:21Z webshinra joined #scheme 2018-11-01T09:28:19Z kappa joined #scheme 2018-11-01T09:32:51Z muelleme joined #scheme 2018-11-01T09:37:33Z muelleme quit (Ping timeout: 245 seconds) 2018-11-01T09:40:29Z daviid joined #scheme 2018-11-01T10:00:50Z wasilisk is now known as wasamasa 2018-11-01T10:26:41Z Zaab1t quit (Quit: bye bye friends) 2018-11-01T11:01:51Z jcowan joined #scheme 2018-11-01T11:42:04Z DGASAU joined #scheme 2018-11-01T12:21:10Z nly joined #scheme 2018-11-01T12:25:32Z lockywolf joined #scheme 2018-11-01T12:33:17Z amz3 joined #scheme 2018-11-01T12:39:10Z lockywolf_ joined #scheme 2018-11-01T12:41:54Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-01T12:46:44Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-01T12:56:50Z skapata joined #scheme 2018-11-01T13:19:48Z lockywolf_: Hello, friends. Who uses scheme-mode for Emacs? 2018-11-01T13:21:19Z siraben: ManDay: That makes sense. Continuations are useful for certain problems. 2018-11-01T13:24:35Z lockywolf_: What's wrong with the following definition: (define y (let ( 2018-11-01T13:24:35Z lockywolf_: (x (list 'a 'b 'c)) 2018-11-01T13:24:35Z lockywolf_: ) 2018-11-01T13:24:35Z lockywolf_: (set-cdr! (cddr x) x) 2018-11-01T13:24:35Z lockywolf_: x 2018-11-01T13:24:36Z lockywolf_: )) 2018-11-01T13:24:38Z lockywolf_: ? 2018-11-01T13:24:49Z pjb: Nothing. 2018-11-01T13:25:05Z pjb: The let creates a circular list that is bound to y. 2018-11-01T13:25:27Z siraben gasps at the indentation 2018-11-01T13:25:44Z pjb: #1=(a b c . #1#) 2018-11-01T13:26:01Z qu1j0t3: siraben: :D 2018-11-01T13:26:15Z pjb: lockywolf_: you may have difficulties if your scheme is not able to print circular structures with such self references. 2018-11-01T13:26:32Z lockywolf_: Yeah, I got it. Scheme-mode complains about 'if: Sorry, we can’t grok this definition syntax. [3 times]' 2018-11-01T13:26:41Z lockywolf_: The interpreter works fine, however. 2018-11-01T13:26:47Z qu1j0t3: /b list 2018-11-01T13:26:51Z qu1j0t3: oops 2018-11-01T13:27:06Z lockywolf_: The indentation got eaten by HexChat :( 2018-11-01T13:27:32Z qu1j0t3: i think it's the newlines before ) that bother me 2018-11-01T13:27:37Z ManDay: Can someone explain to me what that #-2# thing is? 2018-11-01T13:27:57Z siraben: Means it references the 2nd element back 2018-11-01T13:28:10Z siraben: Why does (define y (let ((x '(a b c))) (set-cdr! (cddr x) x) x)) fail in Guile? In procedure set-cdr!: Wrong type argument in position 1 (expecting mutable pair): (c) 2018-11-01T13:28:19Z siraben: is (list 'a 'b 'c) different from '(a b c) ? 2018-11-01T13:28:25Z siraben: Oh I guess becaues the latter is not mutable 2018-11-01T13:28:31Z siraben: because* 2018-11-01T13:29:00Z ManDay: woah... I'm lost now. I neither knew about references, nor did I know there was a difference between (list 'a 'b' 'c) and '(a b c)! 2018-11-01T13:29:09Z qu1j0t3: implementation dependent, i think. 2018-11-01T13:29:32Z qu1j0t3: but this is a chan of language lawyers so we'll soon find out. 2018-11-01T13:29:39Z pjb: ManDayit's a BASIC CONCEPT! (of r7rs). Cf page 9, section 2.4 Datum labels: http://www.larcenists.org/Documentation/Documentation0.98/r7rs.pdf 2018-11-01T13:30:29Z siraben: What background should I have to understand the formal semantics at the end of the R5RS specification? 2018-11-01T13:30:32Z pjb: ManDay: it let us write literal circular structures. 2018-11-01T13:30:32Z ManDay: Since I have rarely ever used side-effects, I'm not familiar with the concept of mutability and references in scheme! 2018-11-01T13:30:43Z pjb: siraben: formal semantics. 2018-11-01T13:30:54Z pjb: siraben: it's quite interesting actually. 2018-11-01T13:30:57Z siraben: pjb: Resources on learning that? 2018-11-01T13:31:08Z siraben: Yeah I'd like to know more about formal semantis. 2018-11-01T13:31:10Z siraben: semantics* 2018-11-01T13:32:03Z ManDay: pjb: Is there any assessible introduction to that? For example something that would help me understand how (cddr x) does actually return something which, when modified, modifies x? How do I distinguish between reference and value when implementing something like (cddr)? 2018-11-01T13:32:17Z pjb: Actually, formal systems semantics. http://www.cs.bath.ac.uk/pb/EMCL/DS/DS-Ref-2011/c19.pdf 2018-11-01T13:33:09Z ManDay: Or rather: Assuming that `car` and `cdr` by themself both return references, how would I define a `car` which returns a copy? 2018-11-01T13:33:16Z siraben: ManDay: (cddr x) takes a list object x and returns a reference to the cdr and cdr of x 2018-11-01T13:33:43Z siraben: cdr of the cdr of x 2018-11-01T13:33:50Z pjb: ManDay: well the point of the formal system of a programming language would be precisely to define its semantics, by specifying in those formula, that there are references and values, and that modifying a value would obviously modify it whatever reference to the value you have to reach the value. It would be explicitely implicit in the formula. 2018-11-01T13:34:06Z ManDay: pjb: Huh? 2018-11-01T13:34:33Z siraben: (set! (car a) 3) is invalid. You need to use set-car! 2018-11-01T13:34:34Z ManDay: siraben: I've never heard of references or anything similar. Is this purely r7rs? I see no mention of it in r6rs (let alone the definition of cdr/car)? 2018-11-01T13:34:37Z siraben: For instance 2018-11-01T13:35:15Z lockywolf_: So I'm trying to run C-c M-c RET, and the only thing it does -- it prints "menu-bar scheme Compile Definition". 2018-11-01T13:35:28Z lockywolf_: In the minibuffer. 2018-11-01T13:35:30Z siraben: ManDay: This is due to the formal semantics of Scheme. The distinction between reference or value is important. 2018-11-01T13:35:46Z siraben: Values are immutable, references are mutable. 2018-11-01T13:35:55Z siraben: ^I think that's right 2018-11-01T13:36:43Z ManDay: siraben: That's all fine but completely new to me! I'd like to have some reference to refer to and to understand this. For example, I had no idea '(a b c) was not mutable but (list 'a 'b 'c) is! For me, those were the same thing! 2018-11-01T13:36:51Z ManDay: Is this *not* in r6rs? 2018-11-01T13:37:12Z siraben: Again, implementation dependent 2018-11-01T13:37:17Z siraben: I also didn't know that 2018-11-01T13:37:31Z ManDay: it's completely counterintuitive! 2018-11-01T13:37:36Z siraben: I hardly use mutation except in very very specific circumstances where it's unavoidable. 2018-11-01T13:38:30Z siraben: Check the behavior of `quote` and `list` in the specification, should clear it up. 2018-11-01T13:39:05Z siraben: I'm reading R5RS right now 2018-11-01T13:39:07Z ManDay: and how the heck is `set-cdr (cdr!` different from `set! (cdr (cdr` ?! 2018-11-01T13:39:08Z siraben: "As noted in section 3.4, it is an error to alter a constant (i.e. the value of a literal expression) using a mutation pro- cedure like set-car! or string-set!." 2018-11-01T13:39:39Z ManDay: I wish I could just forget what I saw and comfort myself in the illusion that scheme was a perfectly intutiive and clean language :-( 2018-11-01T13:39:45Z pjb: ManDay: in r5rs, there are no "places" like in Common Lisp. 2018-11-01T13:40:01Z pjb: So (set! (cdr k) d) is not a form. 2018-11-01T13:40:13Z wasamasa: lol, intuitive 2018-11-01T13:40:25Z siraben: Depends on your intuition 2018-11-01T13:40:28Z wasamasa: intuitive means "behaves the same as the last thing I've touched" 2018-11-01T13:40:38Z pjb: In a way it's strange, because for define, (define (f x) b) is equivalent to (define f (lambda (x) b)) so they can do the syntactic transformation when they like it… 2018-11-01T13:40:38Z ManDay: pjb: I don't know CL, what do you mean? Why would that not be a form? 2018-11-01T13:40:42Z wasamasa: simple and clean, sure 2018-11-01T13:40:43Z siraben: Scheme is just like BASIC! 2018-11-01T13:41:13Z ManDay: and if that isn't, why would set-cdr! be? 2018-11-01T13:41:30Z siraben: To learn a completely new language, you have to stop using your intuition. 2018-11-01T13:41:32Z pjb: ManDay: a form is something that can be evaluated. (set! (cdr k) d) would signal an error. 2018-11-01T13:41:53Z pjb: set-cdr! is bound to a mere function. 2018-11-01T13:42:06Z pjb: It takes two arguments, a cons cell, and a value: (set-cdr! k d) 2018-11-01T13:42:13Z wasamasa: ManDay: they do completely different things 2018-11-01T13:42:15Z ManDay: huh? so what does set-cdr! expand to? 2018-11-01T13:42:23Z pjb: To nothing. 2018-11-01T13:42:27Z siraben: It's a primitive. 2018-11-01T13:42:31Z pjb: It just calls the function bound to set-cdr! 2018-11-01T13:42:40Z pjb: Not necessarily. 2018-11-01T13:43:01Z siraben: ManDay: In what context are you using circular lists? 2018-11-01T13:43:09Z ManDay: sorry, "expand" was the wrong term - I meant how is it expressed in terms of primitives (but siraben answered that) 2018-11-01T13:43:34Z siraben: pjb: Will reading that PDF allow me to follow the formal semantics of R5RS? 2018-11-01T13:43:40Z ManDay: siraben: None! This whole subject is completely new to me (thanks very much lockywolf_ :P) 2018-11-01T13:44:02Z pjb: siraben: and more. 2018-11-01T13:44:05Z siraben: ManDay: Do you know SICP? 2018-11-01T13:44:24Z ManDay: siraben: know: yes. having read it? no. 2018-11-01T13:44:27Z siraben: It discusses the benefits/drawbacks/confusions of mutation pretty well. 2018-11-01T13:44:32Z jcowan: ManDay: The reason literals are immutable is that they are part of your code, and when you try to change one, you are mutating your own code. Which is generally considered a Bad Thing any time this last 60 years. 2018-11-01T13:44:41Z siraben: ManDay: Have you watched the lectures? 2018-11-01T13:44:53Z ManDay: siraben: no, neither :-/ 2018-11-01T13:45:08Z siraben: The book is dense, whereas the lectures are more approachable. 2018-11-01T13:45:11Z ManDay: jcowan: Ok, that somewhat makes sense. 2018-11-01T13:45:43Z siraben: They're really good, highly recommended. 2018-11-01T13:45:47Z nly quit (Ping timeout: 268 seconds) 2018-11-01T13:45:56Z siraben: Although they don't teach Scheme "as we know it", it much more about computer science and other things 2018-11-01T13:46:19Z ManDay: I still don't follow your argument about set-cdr! vs. set! - You seem to suggest that (set! (cdr k) d) would cause an error because "the first argument is not a simple object" (in a sense) - but we have seen that (set-cdr! (cdr k) d) works, so that argument can be universally valid! 2018-11-01T13:46:26Z siraben: pjb: Cool. I'll take a look. 2018-11-01T13:46:56Z ManDay: s/can/can't 2018-11-01T13:47:06Z jcowan: No, it's because set! changes the value of a variable, like = in most C-ish languages, whereas set-cdr! changes the value of part of a data structure. 2018-11-01T13:47:22Z lockywolf_: C-c M-c runs the command scheme-compile-definition (found in 2018-11-01T13:47:23Z lockywolf_: scheme-mode-map), which is an interactive compiled Lisp function in 2018-11-01T13:47:23Z lockywolf_: ‘cmuscheme.el’. 2018-11-01T13:47:23Z lockywolf_: It is bound to C-c M-c, . 2018-11-01T13:47:23Z lockywolf_: (scheme-compile-definition) 2018-11-01T13:47:23Z lockywolf_: Compile the current definition in the inferior Scheme process. 2018-11-01T13:47:30Z lockywolf_: Yeah, wonderful. 2018-11-01T13:47:52Z lockywolf_: Why is scheme-mode calling something cmuscheme specific things? 2018-11-01T13:48:10Z jcowan: so set! has to be followed by a variable in all cases. There are extensions to this that let you say (set! (cdr x) y) (which translates to a set-cdr!), but not in vanilla standard Scheme. 2018-11-01T13:48:16Z wasamasa: lockywolf_: emacs is ancient 2018-11-01T13:48:54Z wasamasa: lockywolf_: read the commentary in the file 2018-11-01T13:49:16Z ManDay: jcowan: I don't find this argument "set! changes the value, set-cdr! changes the value of a part" compelling - it has no motivation for me 2018-11-01T13:50:42Z jcowan: set! changes the value of a *variable*. 2018-11-01T13:51:24Z ManDay: My logic: set-cdr! illustrates that there can exist a setter which takes *any* mutable thing or reference thereto and modify it (like the result of `(cdr k)`). So why can `set` not follow the same logic and take *anything* (including the reference to something returned by (cdr k)) and modify it? 2018-11-01T13:51:47Z nly joined #scheme 2018-11-01T13:51:49Z jcowan: No, set-cdr! applies to pairs and nothing but pairs, never to vectors, or numbers, or other Scheme objects. 2018-11-01T13:51:53Z siraben: Read the specification 2018-11-01T13:52:02Z siraben: Exactly. 2018-11-01T13:52:20Z siraben: In the same way (car a) is valid if and only if a is an object made up of cons 2018-11-01T13:53:10Z ManDay: jcowan: Yes, that's how it is, but I don't see what motivates that limitation. Since, as by set-cdr!, there *can* exist a function which modifies a reference, why can we not let it be set! and drop set-cdr! altogether? 2018-11-01T13:53:15Z ManDay: That's what bothers me. 2018-11-01T13:53:43Z jcowan: Long ago there was a bug (it *was* a bug, contrary to some claims) in a Fortran compiler, such that if you passed a literal like 5 to a procedure as an argument, and the procedure changed the value of its argument to 10, then all occurrences of 5 in your program magically became 10! 2018-11-01T13:53:56Z ManDay: set! would be defined as (set! x y) sets the thing to which "x" expands to the value of "y" (even if "x" is a reference to anything). 2018-11-01T13:54:11Z jcowan: (Modern Fortran compilers will reject this, unless you explicitly pass the argument by value, which is not normal in Fortran.) 2018-11-01T13:54:36Z ManDay: jcowan: I don't see how this is related. 5 is obviously immutable, so that has nothing to do with this perceived inconsistency in Scheme. 2018-11-01T13:55:00Z lockywolf_: cmuscheme.el last modified in 1990 2018-11-01T13:55:02Z lockywolf_: cool 2018-11-01T13:55:24Z jcowan wonders what Scheme impl they used at CMU back in the day 2018-11-01T13:55:26Z DGASAU joined #scheme 2018-11-01T13:55:48Z siraben: MIT Scheme, probably 2018-11-01T13:55:54Z jcowan: Going back to your original complaint that '(1 2 3) is immutable. 2018-11-01T13:56:21Z ManDay: jcowan: No, THAT part is understandable, somewhat. But it has nothing to do with the weird semantics of set! and set-cdr! 2018-11-01T13:56:38Z ManDay: For the sake of the argument, we assume whatever is being used is mutable. 2018-11-01T13:56:42Z siraben: Define "weird" 2018-11-01T13:56:48Z pjb: for example, in https://pastebin.com/yTccy4tH you can see that set-car! and set-cdr! are just procedures. 2018-11-01T13:56:57Z jcowan: What you are asking for is defined as an extension to Scheme, but (a) it is not part of the standards (b) is not widely implemented (c) works only on accessors for which a setter has been defined 2018-11-01T13:57:14Z ManDay: siraben: The limitation that set! can not work with (cdr k) is weird. 2018-11-01T13:57:29Z siraben: The semantics of set! and set-cdr! are defined in the specificaiton. 2018-11-01T13:57:47Z ManDay: Well, I'm not argueing that. I'm just saying it doesn't make any sense to me! 2018-11-01T13:58:01Z pjb: ManDay: your logic is the same as the designers of Common Lisp's logic. Perhaps you'd be happy with CL? 2018-11-01T13:58:20Z siraben: ManDay: ¯\_(ツ)_/¯ 2018-11-01T13:58:35Z ManDay: pjb: No. I'm generally looking for simplicity and universality. That's scheme. And that's why this set! thing is so unsettling. 2018-11-01T13:58:39Z pjb: But another thing that my example https://pastebin.com/yTccy4tH demonstrates, is that there is fundamentally only one mutation: (set! variable value), variable being in a closure. 2018-11-01T13:59:02Z siraben: pjb: Dynamic scoping doesn't make sense to me! 2018-11-01T13:59:03Z pjb: And this is why for the spite of simplicity and universality, in scheme, set! can only set a variable. 2018-11-01T13:59:15Z pjb: siraben: there's no dynamic scoping here. 2018-11-01T13:59:28Z siraben: pjb: In CL 2018-11-01T13:59:32Z lockywolf_ quit (Ping timeout: 250 seconds) 2018-11-01T13:59:40Z pjb: siraben: and if it didn't make sence, time wouldn't need to exist. 2018-11-01T13:59:53Z ManDay: pjb: That attempt and "simplicity" is complete moot, though, since we can see in set-cdr! that limitation does *not* universally apply! 2018-11-01T13:59:57Z siraben: How does it relate to time? 2018-11-01T14:00:27Z pjb: ManDay: of course it does. set-cdr! and any similar function will just call set! on the right variable in the right closure for the given data structure. 2018-11-01T14:00:36Z pjb: It's a normal functional abstraction. 2018-11-01T14:00:52Z jcowan: pjb: Or the dual: there is no mutation of variables at all, only of boxes hiding behind the scenes (which is how many Schemes implement variables that are mutated) 2018-11-01T14:00:59Z pjb: siraben: dynamic = time; lexical = space. 2018-11-01T14:01:10Z pjb: Programming is a spacio-temporal thing. 2018-11-01T14:01:11Z siraben: pjb: Of course. 2018-11-01T14:01:23Z pjb: Math is timeless, of all eternity. 2018-11-01T14:01:24Z ManDay: pjb: Are you saying that set-cdr! can be expressed in terms of set! ? 2018-11-01T14:01:35Z pjb: ManDay: again read https://pastebin.com/yTccy4tH 2018-11-01T14:01:45Z jcowan: ManDay. Yes, if you implement pairs as closures. 2018-11-01T14:02:01Z jcowan: "Closures are poor man's objects, but then again, objects are poor man's closures." 2018-11-01T14:02:07Z pjb: It's another way to write the formal semantics of cons cells. 2018-11-01T14:02:10Z jcowan: Or more concisely, "OO and FP are duals" 2018-11-01T14:05:02Z ggole: You need a little more, if you want pair? 2018-11-01T14:06:42Z DGASAU quit (Read error: Connection reset by peer) 2018-11-01T14:08:05Z DGASAU joined #scheme 2018-11-01T14:09:51Z alezost joined #scheme 2018-11-01T14:11:17Z ManDay: pjb: Ok, got it. It does make sense if you don't consider pairs an integral part of scheme but implementation dependend. 2018-11-01T14:11:27Z ManDay: I didn't even realize you could re-implement them 2018-11-01T14:11:44Z ManDay: thanks for the lesson! :) 2018-11-01T14:12:50Z ManDay is now reconciled with Scheme; faith restored! 2018-11-01T14:13:59Z pjb: :-) 2018-11-01T14:14:50Z pjb: ManDay: you may have fun reading: http://home.pipeline.com/~hbaker1/MetaCircular.html and of course, sicp. 2018-11-01T14:15:20Z ManDay: right, the reference & circular stuff... still have to get my head around this! 2018-11-01T14:15:53Z pjb: Now, the litte secret of formal system semantics, is that the semantics of formal systems are defined in terms of formal systems! It's a kind of "circular" definition. (not really, since the defining formal system is simplier than the defined formal system in general, but still). 2018-11-01T14:16:23Z pjb: Similarly, LISP was originaly defined in terms of the EVAL function written itself in LISP, which was hard to understand to people even like EWD… 2018-11-01T14:17:14Z ManDay: So is the "circular" part a base feature of scheme (meaning that with any implementation using set!, like yours, you'd end up with circular structures due to prescribed semantics of set!) ? 2018-11-01T14:18:01Z pjb: In theory. In practice, we write implementations targetting physical hardware. 2018-11-01T14:18:14Z pjb: Now of course, the universe is probably implemented as a lisp program on some giant computer, so… 2018-11-01T14:18:20Z pjb: It's all turtles down under. 2018-11-01T14:18:20Z pjb: https://www.cs.utexas.edu/~EWD/ 2018-11-01T14:19:00Z pjb: https://en.wikipedia.org/wiki/Turtles_all_the_way_down 2018-11-01T14:19:15Z ManDay: Huh? I mean, I imagine if the specification of "set!" said something like "[...] if the 2nd operand expands to contain the first operand, then a circular containment is established [...]" then it would all follow - but is it that way? 2018-11-01T14:19:41Z pjb: The funny thing is that the link between maths, programs, what we think programs are, and the actual electronic computer we use to "run" them is really not obvious at all. 2018-11-01T14:20:37Z pjb: See this: http://paste.lisp.org/display/139933 2018-11-01T14:21:39Z ManDay: jeez, you're bit loosing yourself in philosophy, aren't you?! 2018-11-01T14:22:08Z pjb: (of course, mathematically, with formal systems, you can write down a model for the physical universe, a model for the processor, a model for your program, and establish mathematical bijections and correspondances between those systems, so you say that your program is implemented on the processor by micro-code and that your electronic devices runs your program, computing good results. 2018-11-01T14:22:17Z ManDay: just what did you mean with "in theory. in practice, [...]" ?I don't get it. 2018-11-01T14:22:39Z pjb: But you only did that mathematically; the relevance to the actual mapping between physics and maths could still be argued about…) 2018-11-01T14:24:05Z pjb: ManDay: for a real hardware computer to work, the circularities must be removed. First because this universe and the time we have to compute is not infinite. So we cannot accept circularity (infinite loops or recursions), because we wouldn't get real results. 2018-11-01T14:24:39Z pjb: But mathematically this would pose no real problem, as long as a unique solution exist and we can characterise it. We don't even need to determine it precisely. 2018-11-01T14:24:58Z pjb: For example, π. 2018-11-01T14:25:30Z ManDay: pjb: I'm talking about the behaviour that is prescribed by the specification. Does *it* uniquely define the nature of circular entities in terms of the effects of set!? That is my question! 2018-11-01T14:26:04Z pjb: No, not in that sense. 2018-11-01T14:26:45Z pjb: The circularity is in the fact that the definition of the scheme language formal system is given in terms of another formal system. 2018-11-01T14:27:04Z ManDay: pjb: Please be less spiritual with me ;) 2018-11-01T14:27:04Z pjb: You should want to know the semantics of that other formal system, used to define the scheme formal system. 2018-11-01T14:27:08Z pjb: It's maths. 2018-11-01T14:28:00Z ManDay: I'm simply asking whether the semantics of circular containment are implemention dependent 2018-11-01T14:28:12Z ManDay: and if not: Is it uniquely defined by the semantics of set! 2018-11-01T14:29:02Z pjb: Agreed, soon enough you reach the usual set theory stuff. For example, localtions are an unspecified set L. Booleans are the set T = {false, true}. Symbols are an unspecified set Q. Pairs are the set L x L x T. 2018-11-01T14:29:22Z pjb: What does L x L x T mean? What's the semantics of the set theory formal system? 2018-11-01T14:30:07Z pjb: Circular containment? Do you mean the circular structure we build with #= ## or with (set-cdr! (cdr (cdr l)) l) ? 2018-11-01T14:30:18Z ManDay: yes 2018-11-01T14:31:33Z pjb: Well, this meaning is a consequence of the formal definition of scheme. Basically, the variable l is bound to the location of the first pair, and this location of the first pair is also stored in the cdr of the third pair. 2018-11-01T14:32:02Z pjb: The formal semantics of the language doesn't define all the objects you can create with that language, or their semantics. It just allows it. 2018-11-01T14:32:30Z pjb: This is another kind of circularity. 2018-11-01T14:33:44Z ManDay: i take that as a "it is not i.d." :) 2018-11-01T14:34:35Z pjb: But it's an interesting question, because you can also implement circular structure without mutation. Using purely functional languages without mutation (ie. just maths), you can still define a data structure allowing you to represent circular structures. 2018-11-01T14:35:14Z ManDay: sure 2018-11-01T14:35:31Z ManDay: nothing stops me from defing it 2018-11-01T14:36:23Z ManDay: but my concern here was with the circular consequences of side-effects (set-car! x x) 2018-11-01T14:36:34Z pjb: In the case of this formal system, it's done by distinguishing locations from the values, and storage whic is the memory indexed by the location where the values are stored. The storage can also contain locations. See 7.2.2 Domain equations. 2018-11-01T14:37:53Z pjb: Stores are L->(ExT), they are functions mapping locations to expressions and a boolean. And expressions are the union of all the type of values you can store. One of them is Ep which is the set of pairs, and pairs are LxLxT. So if you have a store of pairs, you have L->(LxLxT)xT. Since you can get Ls from a L, you can have loops. 2018-11-01T14:38:23Z pjb: eg. start from the address 3, find the cdr is 4. Look at address 4, find the cdr is 5, look at the address 5 and find the cdr is 3 again! Circle! 2018-11-01T14:41:28Z pjb: Mutation is the update function: LxExS -> S (also written with currying as L->E->S->S). (update location object store) returns a new store where the value at location is the object. 2018-11-01T14:41:59Z robotoad joined #scheme 2018-11-01T14:42:50Z pjb: But notice how, by the semantics of math, there's no mutation in the definition of update. It's a mathematical function that defines a new store, which is just like the argument store, only one association between a location and a value is (possibly) different. 2018-11-01T14:43:34Z pjb: We don't need time in math. Only a lot of space, for all the mathematical objects that always exist, and their relationships (which are mathematical objects tht always exist). 2018-11-01T14:43:37Z ManDay: pjb: there is something missing in your argument from earlier about how set-cdr! can do more than set!, I think: Namely, it depends on the pair being implemented as a closure/lambda. If that were so, shouldn't this be opaque to me (in, say, guile)? 2018-11-01T14:45:03Z pjb: Of course, this is just an instance of an implementation. Other implementations are possible. (and this one doesn't fulfull the whole contract, for example, you'd want to implement type-of or (cons? k) to distinguish our pairs from eg. procedures). 2018-11-01T14:45:10Z ManDay: if, indeed, this was justified by implementation, then a pair should be callable 2018-11-01T14:45:12Z pjb: But semantically, they would all be equivalent. 2018-11-01T14:45:39Z pjb: This would be an extension of the scheme language definition. 2018-11-01T14:45:52Z ManDay: pjb: No, this is not just an instance of an implementation. Any implementation *needs* to be a closure, otherwise your argument wont work 2018-11-01T14:45:57Z pjb: But it is possible. Sometimes, notablyin small implementations, you can have such (happy) surprises. 2018-11-01T14:46:10Z pjb: ManDay: equivalent to a closure. 2018-11-01T14:46:31Z pjb: You could implement cons cells with wool strings and yogourt pots. 2018-11-01T14:46:40Z pjb: Or with electronics. 2018-11-01T14:46:40Z ManDay: what other things equivalent to a closure does scheme define? I think none! 2018-11-01T14:46:51Z pjb: Everything that is mutable. 2018-11-01T14:47:02Z pjb: And other things that are not. 2018-11-01T14:47:37Z alexshendi2 joined #scheme 2018-11-01T14:47:38Z pjb: ManDay: actually, lambda calculus only has closures (functions). And since lambda calculus is turing complete, we can implement all computer and all languages in lambda calculus. 2018-11-01T14:47:45Z ggole: You can encode arbitrary data types with closures. 2018-11-01T14:48:01Z pjb: Since also, closures are equivalent to objects. 2018-11-01T14:48:41Z TheGreekOwl joined #scheme 2018-11-01T14:49:32Z jcowan: ManDay: Nothing equivalent in the sense of Scheme equivalence predicates. Everything is equivalent in the sense of the formalism. 2018-11-01T14:51:42Z pjb: ManDay: you may also have fun reading GEB. the most important book of the XX century: "Gödel, Escher and Bach: An Eternal Golden Braid" http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567 2018-11-01T14:51:51Z johnjay joined #scheme 2018-11-01T14:52:36Z ManDay: my reasoning is this: You're alleging set! can not affect (cdr k), because (cdr k) is not just "a reference to a variable" (as I had seen it, where pairs are a fundamental notion of scheme), but instead "something implementation dependent". But then, I say: The only other thing in scheme there is that could be used to implement a pair on top of it is a closure, but then a pair should be callable, which it is 2018-11-01T14:52:39Z ManDay: not. 2018-11-01T14:53:01Z ManDay: So there is a contradiction. 2018-11-01T14:53:25Z pjb: The contradiction is only in appearance, because you're crossing abstraction levels. 2018-11-01T14:53:33Z ManDay: and please spare me the "everything mutable is equivalent to a closure". I'm not talking about abstract computer science, I'm talking about scheme, as in the defined language 2018-11-01T14:53:46Z pjb: Or rather, you're prevented to cross abstraction level in normal use. 2018-11-01T14:54:07Z ManDay: pjb: could you speak in normal terms, leaving out the abstract things? 2018-11-01T14:54:30Z pjb: ManDay: the reason why (set! (cdr k) d) is not valid has nothing to do with the scheme language, but all with the scheme language design. It's a meta-question. 2018-11-01T14:54:31Z ManDay: I have a definition of the language scheme, involving: lambdas, variables therein. 2018-11-01T14:55:12Z ManDay: pjb: You gave your reason why it is not valid: cdr is an implementation specific construct built on top of a closure. 2018-11-01T14:55:22Z pjb: ManDay: in simple terms, it is perfectly possible to define a language where (set! (cdr k) d) works. (see for example, Common Lisp), and see for example, extensions to scheme (IIRC, some SRFI library provides it). 2018-11-01T14:55:39Z pjb: But the simple answer is that the authors of r5rs simply rejected it. 2018-11-01T14:56:12Z ManDay: pjb: It doesn't matter what's possible. My point here is: R5RS is inconsistently designed that way. It's purely subjective, not a mathematical contradiction. 2018-11-01T14:56:26Z pjb: So you can go and ask them why, but if you ask me why they did it, I answered way above: because for reasons of simplicity, they deemed it useless and ugly. 2018-11-01T14:57:11Z ManDay: yes, but the simplicity is only there because you can drop the notion of pairs from the core and let them be implementation specific. 2018-11-01T14:57:11Z pjb: On the contrary, (set! (cdr k) d) would be inconsistent. Since (cdr k) some time would be a function call, and some times would be a sexp designating a place to be mutated. It would be puzzling. 2018-11-01T14:57:30Z skapata quit (Ping timeout: 252 seconds) 2018-11-01T14:57:37Z pjb: Also, it would promote the mutation model of computing, which scheme tries to demote. 2018-11-01T14:57:46Z ManDay: pjb: No, it doesn't matter what (cdr k) is. 2018-11-01T14:57:59Z ManDay: If it returns in an immutable object, it's an error, else, it's fine. 2018-11-01T14:58:04Z ManDay: THAT is consistent and simple. 2018-11-01T14:58:37Z jcowan: pjb: I think you attribute too much intentionality in this case: I suspect they simply never thought of it. The ancestor of set! was ASET', where the ' of course belongs to the next argument but was conventionally written as a suffix to the operation 2018-11-01T14:58:39Z ManDay: pjb: I'm not in favour of mutability or side-effects, but they are already in there, so at least make them consistent. 2018-11-01T14:59:23Z pjb: ManDay: also, a big inconsistency would be that (define (foo x) …) would not give you automatically a (setf! (foo x) y). 2018-11-01T14:59:50Z pjb: And even with standard functions, it is not meaningful to have a setter for all functions. 2018-11-01T15:00:19Z robotoad quit (Quit: robotoad) 2018-11-01T15:00:39Z ManDay: pjb: What do you mean? Why are you talking about setf! ? That should not be a primitive in the first place. (set! f (lambda ...)) is the term. 2018-11-01T15:00:46Z johnjay: I'm not really a scheme expert, but I am enjoying seeing the form internet arguments take in #scheme 2018-11-01T15:00:56Z pjb: (set! (sin (/ pi 2)) 3) 2018-11-01T15:01:06Z pjb: If you have (sin x) why not (set! (sin x) z) ? 2018-11-01T15:01:18Z ManDay: johnjay: Shut up, we are only building up to the point where I start insulting everyone and everything! 2018-11-01T15:01:30Z pjb: Well, no, just no. This is why there is no (set! (cdr k) d). For consistency and simplicity. 2018-11-01T15:01:41Z skapata joined #scheme 2018-11-01T15:01:51Z johnjay: Then please, continue. 2018-11-01T15:02:00Z xkapastel: `cdr` is a function that maps a pair to one of its components, there's nothing to set 2018-11-01T15:02:24Z ManDay: pjb: Not sure I get your point there: (set! (sin (/ pi 2) 3) would give an error because the "LHS" is not mutable (in my vision). 2018-11-01T15:02:50Z ManDay: you can (set! sin ...) alright 2018-11-01T15:03:01Z pjb: ManDay: So you see, how would set! know that (f x) would be mutable? 2018-11-01T15:03:13Z xkapastel: i guess the `car` `cdr` terminology is a hold over from the old days where all of this stuff was mutable slots, but if you call them `fst` and `snd` this issues goes away 2018-11-01T15:03:28Z ManDay: pjb: Good point. 2018-11-01T15:03:33Z gwatt: pjb: Obviously there would be a way to register complex set! expansions 2018-11-01T15:03:45Z pjb: Indeed. In CL there is. It's not that simple either. 2018-11-01T15:03:49Z jcowan: No, they could be called fst and snd (or more realistically rst) and be mutable. 2018-11-01T15:03:58Z xkapastel: yeah, they could be 2018-11-01T15:03:58Z ManDay: pjb: I suppose not in advance. But when it returns, it returns either a reference or something immutable. 2018-11-01T15:04:05Z xkapastel: but the reason to change the name is to emphasize that they are not mutable 2018-11-01T15:04:16Z pjb: (there are 3 different way users can define such setters, and the implementation itself may have two different ways more).. 2018-11-01T15:04:26Z jcowan: Immutability (outside literals) wasn't added until R7RS-large, which to say the least isn't widely adopted yet 2018-11-01T15:04:43Z jcowan: It doesn't say so to me, xkapastel. 2018-11-01T15:04:44Z pjb: ManDay: also no. For simplicity, (check the semantics), functions only return objects. 2018-11-01T15:04:57Z pjb: References are not first class objects in scheme. 2018-11-01T15:05:02Z pjb: (contrarily to eg. C++). 2018-11-01T15:05:06Z xkapastel: yeah, lisp is one of those communities that spans a lot of different CS backgrounds 2018-11-01T15:05:09Z jcowan: In R7RS-large there are disjoint immutable pairs that use ipair, icar, icdr, etc. 2018-11-01T15:05:25Z pjb: Nice. 2018-11-01T15:05:35Z jcowan: I decided that "icons" was too confusing 2018-11-01T15:05:36Z pjb: Can car apply to ipair? 2018-11-01T15:05:46Z jcowan: No, because of the Liskov Substitution Principle 2018-11-01T15:05:48Z ManDay: pjb: good, but then again, (cdr k) must be a closure (the only thing scheme defines which would allow for modification, if it's not a mutable variable), but at least in Guile I can't call it. 2018-11-01T15:05:57Z gwatt: jcowan: do you also have an imap? 2018-11-01T15:06:07Z jcowan: Oh yes, the whole SRFI 1 megillah 2018-11-01T15:06:12Z gwatt: ah 2018-11-01T15:06:24Z gwatt: can you apply using an ilist? 2018-11-01T15:06:29Z ManDay: pjb: In other words: How would you (in terms of the objects scheme defines) classify the result of (cdr k)? 2018-11-01T15:06:48Z jcowan: You can iapply, but the portable impl of that is (apply func (ilist->list ilist)) 2018-11-01T15:06:54Z pjb: ManDay: the result of (cdr k) is specified in the formal semantics: it's whatever has been stored there by way of cons or set-cdr! 2018-11-01T15:07:06Z jcowan: It can be any object 2018-11-01T15:07:36Z ManDay: pjb: "A reference to it" or "A copy of it"? 2018-11-01T15:07:48Z gwatt: reference 2018-11-01T15:07:50Z jcowan: When pjb says pairs "are" closures, he means that in a theoretical, not a practical, sense. They can be emulated by closures, but actual pairs in Scheme do not respond #t to the procedure? predicate 2018-11-01T15:07:53Z ManDay: You said: References don't exist, therefore it must be a copy! 2018-11-01T15:08:05Z pjb: ManDay: again, the semantics give the answer. In short, immutable objects can be copied, and mutable objects are referenced. 2018-11-01T15:08:06Z gwatt: ManDay: it is the same object 2018-11-01T15:08:32Z jcowan: But this happens immediately: there are no separate reference objects ("locatives" in old Lisp jargon) that you can carry around 2018-11-01T15:08:33Z ManDay: pjb: You just said the notion of references doesn't exist! (at least that's how I read it) 2018-11-01T15:08:33Z pjb: For immutable objects, it doesn't make a difference for the user if he gets a copy or the original. 2018-11-01T15:08:41Z pjb: (it can be detected using eq?). 2018-11-01T15:08:56Z pjb: ManDay: I said references are not first class objects. 2018-11-01T15:09:01Z jcowan: which is why eqv? is Scheme's identity predicate and eq? is a performance hack 2018-11-01T15:09:05Z pjb: You cannot get (reference-of x) -> r 2018-11-01T15:09:37Z pjb: Now, this is not provided by scheme, but you can actually implement this abstraction (again, using closures). 2018-11-01T15:09:40Z ManDay: johnjay: This is about the time when I loose my shit... 2018-11-01T15:09:44Z gwatt: ManDay: are you familiar with C or C++? 2018-11-01T15:10:30Z ManDay: No seriously, I think I've got a different view of it than you may have coming from a CS perspective. 2018-11-01T15:10:36Z ManDay: gwatt: Yes I am 2018-11-01T15:11:18Z gwatt: Then think about it like this: In scheme, only identifiers can be lvalues 2018-11-01T15:13:47Z ManDay: In my view: Scheme defines a working set of tools, among them: Lambdas, variables therein, setting a variable by set!. On the one hand, you argue (cdr k) returns "a reference to whatever has been stored" (so you're implying there is a 4th tool: A distinction between reference and copy). Then I conclude, if that's so, then set! should be able to work with that reference just fine. 2018-11-01T15:14:37Z ManDay: On the other hand, if you're argueing (cdr k) is just an implementation specific thing (not adding to the set of primitive tools), then I argue it HAS to be a closure, but evidently it is not. 2018-11-01T15:14:49Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-01T15:15:09Z ManDay: s/it HAS to be/a pair HAS to be/ 2018-11-01T15:15:33Z pjb: ManDay: references in scheme: https://pastebin.com/MNA8C9Dj 2018-11-01T15:16:41Z ManDay: pjb: That's okay, but what's your point? If it is that references are NOT part of the primitive tools but only implementation dependent, than just see my 2nd point. 2018-11-01T15:16:46Z pjb: ManDay: No, we say that (cdr k) returns THE object that is bound to the cdr slot of the pair. 2018-11-01T15:16:50Z ManDay: s/than/then 2018-11-01T15:17:56Z pjb: ManDay: the problem is that technically, the result can be either a copy (if the object is immutable), or a reference to the original object if it's mutable. So you get the very same original object, or in the cases where you couldn't possibly know the difference, either the very same original object or some indistinguishable copy. 2018-11-01T15:18:31Z ManDay: pjb: I agree with that assessment, but I don't see a problem with it. 2018-11-01T15:19:54Z pjb: ManDay: actually, it's worse than that! (let ((x (some-object))) (do-something) x) <- here after (do-something) the x you get could be a different copy of the mutable object! Indeed, some-object will allocate it somewhere in memory, but if do-something uses a lot of memory the garbage collector may have to move the live objects, making copies, and updating the references. So the actual address referenced by x before and afte 2018-11-01T15:19:54Z pjb: (do-something) could be different, you could have two different copies of the same identical object! 2018-11-01T15:19:56Z ManDay: (cdr k) returns "THE object", and if that fully qualifies the result, then I'd say it's a suitable argument for set!, which abides to the most simple definition of setting "A object" to "something else". 2018-11-01T15:20:07Z pjb: But you cannot know that, it's hidden in the underlying layer of the garbage collector. 2018-11-01T15:20:52Z pjb: (you may see it if you have a display or print function that includes the address of the object in its output). 2018-11-01T15:21:33Z pjb: But since in scheme there's no way to take an address and obtain an object, this debugging output would not let your program see it. 2018-11-01T15:21:55Z pjb: (low-level) debugging tools let you cross abstraction layers… 2018-11-01T15:22:20Z ManDay: pjb: In your last point, I see it makes it complicated for the implementation/compiler, but semantically I see no problem. 2018-11-01T15:22:36Z ManDay: So if you're argueing practicability-wise, yes, then of course... 2018-11-01T15:22:53Z ManDay: (or rather: then, I wouldn't know) 2018-11-01T15:23:28Z pjb: For practical implementation of scheme, you could have a look at LiSP: Lisp in Small Pieces http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html http://pagesperso-systeme.lip6.fr/Christian.Queinnec/Books/LiSP-2ndEdition-2006Dec11.tgz 2018-11-01T15:23:53Z pjb: But already, sicp gives some hints in its 4th chapter. 2018-11-01T15:25:21Z johnjay: I find it amusing that the fact he wrote Lisp in Small Pieces is mentioned in small print near the bottom of the webpage as the last thing. 2018-11-01T15:27:10Z ManDay: so bottom line you're saying that set! can not take arbitrary references to "THE object" because it would have implications for implementation? 2018-11-01T15:28:20Z pjb: Of course it would have. But I'm saying that it's a scheme design choice. Nothing more. And it's consistent. 2018-11-01T15:28:36Z pjb: ManDay: perhaps you should note here that set! is not a function! It's syntax. 2018-11-01T15:29:26Z pjb: The way syntactic operators process their argument is different than for functions. For functions, scheme merely evaluates the arguments and the function (any order), and finally calls the function with as parameters the value of the arguments. 2018-11-01T15:29:42Z pjb: For syntactic operator, the rule is different and specific to each operator. 2018-11-01T15:29:57Z ManDay: pjb: Not contradictory, agreed. Consistent? Not so much as I see inconsistency in making limitations which are not of semantic origin and take away from minimalism (in specification). 2018-11-01T15:30:04Z pjb: eg. with if, the first argument is evaluated, and if not false, then the second argument is evaluated, or else the third. 2018-11-01T15:30:18Z klovett_ joined #scheme 2018-11-01T15:30:20Z ManDay: I'm aware. 2018-11-01T15:30:29Z pjb: For set!, it evaluates the second argument, and binds the resulting value to the variable designated by the first argument. 2018-11-01T15:30:37Z pjb: The first argument is not evaluated. 2018-11-01T15:31:02Z pjb: This is a simple and consistent definition. To allow for "places" like in CL, we'd have to specify a more complex rule. 2018-11-01T15:31:46Z pjb: Notice that in CL, we have actuall 3 different setting operators: SET, SETQ, and SETF. 2018-11-01T15:32:01Z pjb: And they're defined in terms of one another! 2018-11-01T15:32:31Z pjb: eg. setq is like set!, but if it gets a symbol-macro instead of a variable, it "uses" (nominaly) setf. 2018-11-01T15:33:16Z pjb: set is actually a function. (set v x) is equivalent to (setf (symbol-value v) x). 2018-11-01T15:33:42Z klovett quit (Ping timeout: 268 seconds) 2018-11-01T15:33:44Z pjb: setf uses setq for variables, and implements the complexity of places for the rest. 2018-11-01T15:34:07Z ManDay: pjb: But as I said: Because set-cdr! is evidentally (because it's not a closure) *not* an specific implementation on top of more primitive means, the notion of "passing a reference" in the generality that you deny for `set!` is needed *anyway* 2018-11-01T15:34:19Z pjb: The funny thing in CL, is that there's a GETHASH function, but no PUTHASH. For this you use (setf gethash). 2018-11-01T15:34:41Z ManDay: So yes: `set!` is kept simple in that it only takes a "raw" variable as it's first argument, but the simplification is moot. 2018-11-01T15:35:15Z pjb: Yes, but again, the fundamental thing here is that references are not first class objects. 2018-11-01T15:35:31Z pjb: They could be in the language used for the implementation. But it's not true in scheme. 2018-11-01T15:35:52Z pjb: So of course, we can talk of references when talking about the implementation of scheme. Or of locations or addresses. 2018-11-01T15:35:58Z pjb: But they are not scheme notions. 2018-11-01T15:36:43Z pjb: And once compiled, (set! x v) would show no reference actually. The compilers would have resolved x to some address. 2018-11-01T15:36:47Z ManDay: pjb: Then see it as a criticism to the implementation: Implementing a scheme in a way that the reference/pair is not *explicitly* implemented in terms of primitive means of the language de facto makes it a "first class object". 2018-11-01T15:37:27Z pjb: Not the language. Again, you could implement scheme using little robots manipulating wool strings. 2018-11-01T15:37:47Z pjb: https://www.youtube.com/watch?v=FTSAiF9AHN4 2018-11-01T15:37:51Z pjb: Have fun, just do it! 2018-11-01T15:38:14Z ManDay: I'm saying: It's the fault of the implementation. If it was built in the spirit that you portray (and which I share), then it would have been implemented opaquely. 2018-11-01T15:39:02Z pjb: One big advantage of using wool strings would be that you wouldn't need much to implement the garbage collector. Just hire a janitor to sweep off the cut out strings, and throw they away for the real garbage man. 2018-11-01T15:39:13Z ManDay: The way it *is* done (in Guile) *suggests* (wrongly), that a reference/cdr are part of the "first class set". Because, they are not opaque. In my opinion. 2018-11-01T15:39:28Z pjb: Of course. Implementations are opaque. 2018-11-01T15:39:44Z pjb: Again, we have a circularity here. To explain scheme, I'm implementing little chunks of scheme in scheme! 2018-11-01T15:39:51Z pjb: Hence .cons .car .cdr. 2018-11-01T15:40:07Z pjb: Notice that in most scheme implementations, you can even overide the standard names! 2018-11-01T15:40:31Z pjb: So in a way you can "modify" the scheme implementation you're using at run-time. (sometimes, on some implementations). 2018-11-01T15:42:12Z ManDay: pjb> Of course. Implementations are opaque. < Why? The elegance I expect from scheme is a clear distinction between the core, "first class" concepts and any convenience on top of it (e.g. stdlib) and that the stdlib doesn't exhibit behaviour *beyond* what the core language allows 2018-11-01T15:42:26Z ManDay: That's not the case here, hence my perception of inconsistency. 2018-11-01T15:42:41Z ManDay: (again: in the implementation, not the core language) 2018-11-01T15:42:41Z pjb: (well, in general implemnetations are opaque. With open source and (low-level) debuggers, you can eg. type M-. on a cl function and jump to the source of its implementation, I guess some scheme implementations can do the same). 2018-11-01T15:43:39Z dbmikus_ joined #scheme 2018-11-01T15:43:49Z ManDay: pjb: There is a difference between "opaque" as in "sin(x) does not resolve to something" and "opaque" as in "something which is only possible to be implemented in terms of 1st class things like SO does not behave like SO" !!! 2018-11-01T15:44:08Z ManDay: The *latter* is what's the problem in my eyes. Not the former, of course. 2018-11-01T15:44:13Z pjb: ManDay: nope. Turing Equivalence. 2018-11-01T15:44:33Z pjb: Again, formal system semantics are defined in terms of formal system. Programming languages are implemented in programming languages. 2018-11-01T15:44:37Z ManDay: We have reached the point of opinions. Time to trade insults, don't you think? ;-p 2018-11-01T15:44:38Z eddof13 joined #scheme 2018-11-01T15:44:43Z pjb: Virtual machines run in virtual machines. 2018-11-01T15:44:52Z pjb: The universe is simulated in a computer. 2018-11-01T15:44:57Z pjb: It's all turtle down under. 2018-11-01T15:45:13Z pjb: I think we've got a dense session, and you have for a few months of reading to do… 2018-11-01T15:45:41Z robotoad joined #scheme 2018-11-01T15:45:43Z ManDay: *had. I'm afraid my occupation doesn't allow for reading all of which you suggested ;-| 2018-11-01T15:46:25Z pjb: The notion of primitive is purely conventional. Each implementation author chooses what his primtives are. And some choose to use the whole language (or sometimes, more powerful languages) as primitive to implement a given language. 2018-11-01T15:46:28Z ManDay: GEB and SICP are on my list tho 2018-11-01T15:46:42Z dbmikus__ joined #scheme 2018-11-01T15:47:02Z pjb: Also, the bootstrapping game was played in the 50s. Nobody has to do it anymore (but on some school exercices for the fun of it). 2018-11-01T15:47:05Z ManDay: pjb: well fixing that choice of which the primitives *are* is exactly the scope of a language spec like lisp. so I took it for granted in my argument. 2018-11-01T15:47:53Z InverseRhombus quit (Ping timeout: 268 seconds) 2018-11-01T15:47:56Z dbmikus_ quit (Ping timeout: 244 seconds) 2018-11-01T15:48:19Z pjb: ManDay: basically, you feel the need to define primitives, when you are starting from a very low level programming language, and you need to bootstrap from it. For example, if you start from lambda-calculus, and want to implement scheme, then you will see what you can easil implement in lambda-calculus and use them as "primitives". but it's a purely artificial choice. 2018-11-01T15:48:45Z pjb: (And who is limited to such low level languages? Just use scheme or CL or haskell to implement scheme). 2018-11-01T15:48:52Z ManDay: artificial, but necessary - and only elegant if non-redundant 2018-11-01T15:49:31Z ManDay: i expect scheme to be in that sense fixed to a minimal set. 2018-11-01T15:49:38Z ManDay: anyway... 2018-11-01T15:49:43Z ManDay: opinions 2018-11-01T15:50:04Z ManDay: sorry johnjay you didn't get your show. pjb is just too polite ;-) 2018-11-01T15:50:26Z pjb: ManDay: eg. in CL, the language distinguishes special operators, macros and functions. But it specifies that special operators can be implemented as macros. And macros can be implemented as special operator (as long as an equivalent macro definition is still provided for the benefit of user programs), and all the functions in the CL package can be open-coded (ie. can be implemented and inlined as special operators too). 2018-11-01T15:50:44Z johnjay: ah well, there's always the show I watch on youtube where people scream at each other and challenge each other to fight in real life 2018-11-01T15:50:48Z johnjay: thanks very much for playing anyway 2018-11-01T15:51:42Z pjb: ManDay: so why you could consider that the set of special operators are primitives, the specification of CL just says the whole CL is primitive. (and by the way, as I mentionned above, (setf gethash) is not specified to be a function, it would also have to be included in the set of CL primitives, unless you implement hash-tables as something else. 2018-11-01T15:52:03Z pjb: s/why/while/ 2018-11-01T15:52:34Z ManDay: fair enough, i get your meaning 2018-11-01T15:52:40Z pjb: Bootstrapping compilers is fun too. But again, it's a useless exercise nowadays. 2018-11-01T15:53:00Z smazga joined #scheme 2018-11-01T15:53:12Z pjb: Even in the 50s, they already knew it. the IBM 360 system was designed and programmed on simulators and virtual machines on the most powerful system they had. 2018-11-01T15:53:13Z ManDay: nah thanks... my definition of fun has changed over the years 2018-11-01T15:53:43Z qu1j0t3: that's why you're here! 2018-11-01T15:54:25Z ManDay: talking to you guys is always fun :) 2018-11-01T15:57:15Z InverseRhombus joined #scheme 2018-11-01T15:57:51Z Guest24331 joined #scheme 2018-11-01T16:07:09Z jcowan: I think all the historic setters were flushed from the CL package (of course they still exist for structures) except RPLACA and RPLACD and perhaps a very few others. At least that was a design goal. 2018-11-01T16:07:57Z jcowan: so PUTPROP and PUTHASH and all of those are gone 2018-11-01T16:21:42Z Zaab1t joined #scheme 2018-11-01T16:38:34Z nly quit (Ping timeout: 244 seconds) 2018-11-01T16:39:44Z nly joined #scheme 2018-11-01T17:03:51Z muelleme joined #scheme 2018-11-01T17:05:04Z TheGreekOwl quit (Ping timeout: 272 seconds) 2018-11-01T17:09:30Z muelleme quit (Ping timeout: 252 seconds) 2018-11-01T17:20:44Z cmatei quit (Remote host closed the connection) 2018-11-01T17:35:43Z nly quit (Read error: Connection reset by peer) 2018-11-01T17:35:48Z nlyy joined #scheme 2018-11-01T17:36:03Z nlyy quit (Client Quit) 2018-11-01T17:45:33Z Zipheir: Wow, that was an epic conversation. 2018-11-01T17:47:11Z elderK quit 2018-11-01T17:47:34Z johnvonneuman_ joined #scheme 2018-11-01T17:50:02Z johnvonneuman quit (Ping timeout: 272 seconds) 2018-11-01T17:53:43Z amz3 quit (Read error: Connection reset by peer) 2018-11-01T17:56:32Z ggole quit (Quit: ggole) 2018-11-01T18:05:43Z muelleme joined #scheme 2018-11-01T18:10:07Z muelleme quit (Ping timeout: 240 seconds) 2018-11-01T18:15:17Z alexshendi2 quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2018-11-01T18:17:09Z Zipheir: ... still not sure what the disagreement was about. 2018-11-01T18:22:32Z ManDay: Zipheir: In my opinion, from the non-CS/user vantage point, I was "offended" by the presence of a distinct setter `set-cdr!`, which (from appearance in the specific implementation, not from language design, as pjb made clear through the debate), together with `set!` made a set of commands, where... `set!` can set variables but can not take an expression like (cdr k) as its "lvalue"... `set-cdr!` can take 2018-11-01T18:22:34Z ManDay: expressions like (cdr k) as its "lvalue" but not set normal variables. 2018-11-01T18:23:19Z ManDay: So from that perspective it looks like two half-capable commands where only one full-capable "should exist" 2018-11-01T18:24:02Z pjb: ManDay: this may be due to the naming. set-car! might be confusing, because it looks like set!, but it behaves very differently (it's a function, not syntax). 2018-11-01T18:24:03Z ManDay: (I'm putting this all in quotes to not suggest that that had been my opinion before and during debate) 2018-11-01T18:24:16Z ManDay: pjb: yes, yes - we're good, all understood :) 2018-11-01T18:24:18Z pjb: ManDay: in the old days (and remaining in CL), there are the functions rplaca and rplacd. 2018-11-01T18:24:27Z ManDay: just elaborating the history of the debate to Zipheir 2018-11-01T18:24:38Z pjb: (setf (car k) a) == (rplaca k a) 2018-11-01T18:24:54Z ManDay: Hm, interesting 2018-11-01T18:25:25Z pjb: Knowing that, and the fact that scheme introduced a big renaming (for "pedagogical" purposes), may explain set-cdr!. 2018-11-01T18:25:31Z jcowan: Modulo what they return: rplaca returns the cons, set-car! returns an unspecified object 2018-11-01T18:25:53Z pjb: in emacs lisp, rplaca returns the new car ;-) 2018-11-01T18:26:30Z Zipheir: ManDay: Got it 2018-11-01T18:26:59Z Zipheir: ManDay: Are you familiar with SRFI-17? 2018-11-01T18:27:25Z ManDay: Now I am :) 2018-11-01T18:29:02Z Zipheir: Well, yes, if you want lvalues... 17's got you covered. 2018-11-01T18:29:15Z ManDay: As I pointed out, I'm not generally opposed to set! being able to only set "raw variables" - it's clean. Just in this case I'd like the implemention to make opaque that cdr-set! is implemented in terms of set! (by closure) instead of giving the appearance on the phenomenological level that it "completed set! for lvalues of the other kind". 2018-11-01T18:29:34Z ManDay: so if anything, I'm pointing fingers at guile, I suppose 2018-11-01T18:29:47Z ManDay: but then, I'm not opposed to srfi-17 either ^^ 2018-11-01T18:29:50Z jcowan: All known implementations do make this opaque at the phenomenological level 2018-11-01T18:30:13Z Zaab1t quit (Quit: bye bye friends) 2018-11-01T18:30:26Z jcowan: if pairs were implemented as procedures, you'd have no way to detect that (they answer true to pair?, not procedure?) 2018-11-01T18:30:30Z Zipheir: A discussion of linguistic noumena is always orthogonal to the topic :) 2018-11-01T18:30:47Z ManDay: jcowan: maybe i got opaque and transparent reverse? What I mean is that I'd prefer a pair in guile to behave like the closure as which it would be implemented, using only the primitive `lambda` and `set!` 2018-11-01T18:31:06Z ManDay: jcowan: well, that's a point, yes. 2018-11-01T18:31:31Z ManDay: type introspection is another... issue... for another day :-D 2018-11-01T18:31:49Z vyzo joined #scheme 2018-11-01T18:31:51Z Zipheir: ManDay: Why would you assume it was implemented as a closure? 2018-11-01T18:32:53Z Zipheir: ManDay: Any good implementation would make that opaque, as jcowan said. 2018-11-01T18:32:56Z pjb: This is the explaination I gave. Not that it is implemented as a closure, but that it has the same semantics. We also said that closure = object. 2018-11-01T18:33:28Z ManDay: Zipheir: Why (to the latter)? 2018-11-01T18:33:37Z pjb: Indeed more implementation would use explicit objects (structures) rather than closures to implement cons cells, since that makes it easier to distinguish the types. 2018-11-01T18:34:16Z pjb: But for example, an implementation compiling with continuations could easily use closures to implement those standard types… 2018-11-01T18:35:04Z Zipheir: ManDay: Simpler semantics. Pairs display certain behaviours, and that's all that need be specified. 2018-11-01T18:35:43Z Zipheir: ManDay: WRT closures, this also (obviously) gives implementations the freedom to implement pairs in more efficient ways, say in the absence of mutation. 2018-11-01T18:36:48Z klovett joined #scheme 2018-11-01T18:36:51Z jcowan: Hmm. In the absence of mutation, closures can also be (and usually are) implemented more efficiently too. 2018-11-01T18:36:55Z ManDay: Zipheir: Well, for me it eventually boils down to a matter of opinion... If you make things opaque/hidden, you put them into the same pot with the (necessarily opaque) language primites. So set-cdr! gets into one pot with set! and what I dislike about that situation is that then we have this situation with who seemingly "half-functional" commands in the pot of primitives. 2018-11-01T18:37:12Z ManDay: s/primites/primitives/ 2018-11-01T18:37:47Z ManDay: Zipheir: yes, there are practical consequences about performance that I deliberately ignore in this 2018-11-01T18:37:57Z Zipheir: ManDay: half-functional? 2018-11-01T18:38:04Z klovett__ joined #scheme 2018-11-01T18:38:34Z klovett_ quit (Ping timeout: 246 seconds) 2018-11-01T18:39:00Z ManDay: Zipheir: Like I described above? One can does one half of X (setting vars) but not the other (setting "references" returned by functions), and the other does the complementary 2018-11-01T18:39:29Z Zipheir: Also, the obvious reductio ad absurdum: At some level we've got to have opacity, otherwise we're going to need to specify bits. 2018-11-01T18:41:01Z klovett quit (Ping timeout: 244 seconds) 2018-11-01T18:41:16Z Zipheir: ManDay: So what you'd like is generalized set? 2018-11-01T18:41:22Z Zipheir: s/set?/set!/ 2018-11-01T18:42:39Z ManDay: Zipheir: You mean like #17? I wouldn't mind. But again: I'd be equally happy if the two were more clearly separated in the implementation by making one "obviously/really" implemented in terms of the other. 2018-11-01T18:43:02Z ManDay: (which would be pairs being implemented in terms of closure and set!, i presume) 2018-11-01T18:43:18Z ManDay: i want to stress: It's a matter of taste for me 2018-11-01T18:43:49Z ManDay: I'm not saying this is bad. Especially taking into account the practical implications, I might even agree that in practice the current solution is good. 2018-11-01T18:43:56Z ManDay: s/might even/do 2018-11-01T18:44:07Z Zipheir: But it's obviously a Bad Thing to specify how pairs are to be implemented. 2018-11-01T18:45:01Z ManDay: Zipheir: It wouldn't have to be specified? But it would necessarily be a closure (because nothing else provided by the core language can emulate a pair) 2018-11-01T18:45:34Z ManDay: so (a-pair) "should" throw an error about "wrong number of arguments" or something 2018-11-01T18:45:41Z Zipheir: wat 2018-11-01T18:45:47Z pjb: ManDay: This is where you can see the power of lisp. Write: (define rplaca set-car!) (define rplacd set-cdr!) and forget set-car! and set-cdr!. 2018-11-01T18:46:00Z pjb: Find similar nice names for vector-set! string-set! etc. 2018-11-01T18:47:15Z Zipheir: Why would you want pairs to be defined in terms of other scheme forms? They're the workhorse of Lisp and should be provided as primitives. 2018-11-01T18:48:45Z jcowan: pjb: It seems that SETF was added to Maclisp sometime between 1974 and 1981, and probably did not exist when Scheme was invented. The Great Renaming happened in 1985 and SRFI 17 not until 2000, which tends to confirm my idea that 2018-11-01T18:49:21Z jcowan: the Great Quux and friends simply never thought of the idea 2018-11-01T18:50:16Z Zipheir: jcowan: But they must have been aware of the idea? 2018-11-01T18:50:36Z jcowan: Not in 1975, I don't think 2018-11-01T18:51:00Z Zipheir: jcowan: Do you think SRFI-17 is a Good Thing? 2018-11-01T18:51:15Z jcowan: I'm undecided 2018-11-01T18:52:16Z jcowan: fortunately, it's queued up for the Amber Edition ballot 2018-11-01T18:52:26Z jcowan would hate being a BDFL 2018-11-01T18:53:06Z qu1j0t3 coughs 2018-11-01T18:54:44Z jcowan: I asked to be WG2 chair instead of WG1 chair precisely because I had a lot of passionate opinions about R7RS-small but not too many about R7RS-large 2018-11-01T18:56:32Z Zipheir: ManDay: I think the idea is sort of premature optimization for mutation-oriented code. If you're _not_ mutating pairs, requiring them to be implemented that way is just tying the implementation's hands, imho. Not to mention the leaky abstraction. 2018-11-01T18:56:52Z ManDay: Zipheir: *if* there are practical consequences entailed by making pairs expose their implementation, I would of course opt for the practical solution of not doing it (i said several times now) 2018-11-01T18:57:18Z Zipheir: ManDay: Fair enough. 2018-11-01T18:57:27Z ManDay: Zipheir: Yes, I can fully understand that. 2018-11-01T18:58:29Z ManDay: so, do you approve of #17? 2018-11-01T18:58:34Z ManDay: just out of curiousity ^^ 2018-11-01T18:58:46Z jcowan: In addition, procedures themselves don't expose their implementation. So you would have no way to tell if a procedure "is" a pair or not. That makes programming in dynamically typed systems hard. 2018-11-01T19:00:12Z ManDay: jcowan: I'm just speculating here, but since type-introspection à la `pair?` is some black-box mystery anyway, wouldn't it be equally possible to classify procedures differently? 2018-11-01T19:01:04Z Zipheir: ManDay: I'm not sure about SRFI 17. It makes code more readable, imo, but I can see how it might be a mess to implement. 2018-11-01T19:01:10Z ManDay: like the (pair? ...) would only eval to #t if applied to a "pair procedure". that seems to require the same amount of mystery than an opaque implementation 2018-11-01T19:01:14Z jcowan: I suppose. But classically pocedures have just one operation, apply. 2018-11-01T19:02:14Z jcowan: So to avoid mystery the procedure would have to be callable with a special object meaning "Answer #t if you are a pair" 2018-11-01T19:02:36Z jcowan: such as (string-copy "pair?"), which is guaranteed to return a unique object 2018-11-01T19:03:19Z ManDay: jcowan: Sure, if you wanted to expose that mystery, too. But I don't see introspection as a prime feature anyway, so I wouldn't mind it being "magic" 2018-11-01T19:04:35Z jcowan: It's the only way to write ad hoc polymorphic code in dynamically typed languages. 2018-11-01T19:04:41Z ManDay: (I've never had any use for introspection and in the few cases I could need it, like polymorphic functions, I wouldn't mind just fixing it manually like (poly-func 'run-in-pair-mode some-pair) 2018-11-01T19:04:55Z jcowan: How would that work? 2018-11-01T19:05:03Z jcowan: You need the equivalent of type case. 2018-11-01T19:05:13Z Zipheir: ManDay: Introspection isn't really the right term for predicates like pair?. Type predicates are how Scheme does typing, and don't provide any information about the internals of the value. 2018-11-01T19:05:23Z ManDay: jcowan: Hm? Well, the function has been given the type explicly through the 'run-in-pair-mode 2018-11-01T19:06:16Z ManDay: personally, I'm just never to hardly-ever writing polymorphic code 2018-11-01T19:06:17Z jcowan: Well, it is, in the same sense that object identity (which Scheme mostly has) is introspective. Truly non-introspective languages only have values, not objects. 2018-11-01T19:06:18Z badkins_ joined #scheme 2018-11-01T19:07:18Z jcowan: Scheme is mostly monomorphic, but it would be Very Bad if applying 'car to something you thought was a pair, but was actually some other kind of procedure, worked. 2018-11-01T19:07:31Z jcowan: (monomorphic functions, not variables) 2018-11-01T19:08:07Z jcowan: There is some universal polymorphism like car cdr cons, who don't care what their arguments are, and some universal-by-cases polymorphism, like write. 2018-11-01T19:08:10Z Zipheir: That makes sense. 2018-11-01T19:09:43Z catonano joined #scheme 2018-11-01T19:09:47Z badkins quit (Ping timeout: 240 seconds) 2018-11-01T19:09:52Z pie__ is now known as pie_ 2018-11-01T19:13:12Z Zipheir: And conceivably a 'dynamically-typed' language without type predicates could work just fine. 2018-11-01T19:13:42Z Zipheir: Though it might be hard to ensure that functions wouldn't blow up in your face at runtime. 2018-11-01T19:17:15Z jcowan: It's not so much that. If you get the car of a pair by passing the token 'car to it, what would happen if you instead passed 'car to a procedure that turned out to be write? 2018-11-01T19:18:07Z ManDay: gun, foot, shoot. 2018-11-01T19:18:57Z ManDay: never run any scheme program in an environemt with valuable things in it 2018-11-01T19:19:16Z ManDay: :-P 2018-11-01T19:19:27Z ManDay: Anyway, thanks for the talk good night ^^ 2018-11-01T19:19:28Z ManDay quit (Quit: WeeChat 2.2) 2018-11-01T19:23:01Z jcowan: Scheme is strongly dynamically typed, whereas a language with only procedures would be in effect weakly dynamically typed, like assembly language 2018-11-01T19:23:07Z jcowan: (C is weakly statically typed) 2018-11-01T19:23:13Z Zipheir: jcowan: But you're talking about the implementation of types, right? When would a user of the language get into that situation? 2018-11-01T19:23:42Z jcowan: Whenever he says (car x) and x turns out not to be a pair 2018-11-01T19:24:27Z Zipheir: Right, so provided the implementation can distinguish types, this is just an error, presumably. 2018-11-01T19:24:50Z jcowan: But if the procedures are Scheme procedures, they only understand procedure? and apply. 2018-11-01T19:25:17Z Zipheir: Ah, that. 2018-11-01T19:27:53Z jcowan: this is why historic uses of procedures-as-objects have usually involved a "send" procedure rather than invoking the object directly 2018-11-01T19:28:04Z jcowan: (send proc 'message . args) 2018-11-01T19:28:31Z jcowan: I have been thinking about how to do records-as-procedures, such that you can get/set their slots but also invoke them directly 2018-11-01T19:28:43Z Zipheir: Clearly I need to learn more about real Scheme implementations. :-/ 2018-11-01T19:29:06Z jcowan: the bad bit is that they either need a variable number of arguments, which is inefficient, 2018-11-01T19:29:15Z jcowan: or a minimum of two arguments, which is ugh. 2018-11-01T19:29:47Z Zipheir: That is a very interesting idea, though. 2018-11-01T19:30:00Z jcowan: So you can call the proc with (proc 'get-slot1) and (proc 'set-slot1 newval) as well as with its normal arguments 2018-11-01T19:30:01Z gwatt: jcowan: wouldn't you only need 1 or 2 arguments? 2018-11-01T19:30:13Z cmatei joined #scheme 2018-11-01T19:30:20Z jcowan: Then you filter those calls out and do the rest of the body 2018-11-01T19:30:49Z jcowan: (of course you don't use symbols, you use inaccessible uniques: gensyms, pairs, or my favorite, strings made by string-copy) 2018-11-01T19:42:36Z Zipheir: Would there be some standard interpretation of what it means to apply a record value? 2018-11-01T19:43:14Z Zipheir: Or would there be some special applicative record type? 2018-11-01T19:44:10Z jcowan: no, something like this: (define-object-type (arg ...) ) 2018-11-01T19:44:44Z jcowan: so you get a constructor which returns a procedure 2018-11-01T19:45:10Z jcowan: and then the predicate, getters, and setters call the proc with magic arguments 2018-11-01T19:45:17Z jcowan: ... oh, wait ... 2018-11-01T19:45:25Z Zipheir: Oh, ok. 2018-11-01T19:45:49Z jcowan: (define-applicable-record-type () (arg ...) . body) 2018-11-01T19:45:53Z jcowan: that's mroe like it 2018-11-01T19:46:22Z Zipheir: Yeah, that's sort of what I imagined. 2018-11-01T19:47:38Z lritter quit (Remote host closed the connection) 2018-11-01T19:51:24Z muelleme joined #scheme 2018-11-01T20:05:43Z jcowan: the trick, as I say, is what happens when there are fewer than 2 args 2018-11-01T20:05:58Z jcowan: given that the setter, getter, etc. are overloaded on the ordinary args 2018-11-01T20:06:28Z jcowan: it can be done by making the lambda variable-number-of-args, but at the cost of consing up a list every time you invoke it 2018-11-01T20:14:36Z Zipheir: So after define-applicable-record-type[-ing] a type rec, (make-rec ...) would return a procedure, but that procedure would also behave as a getter/setter for the slots of rec? 2018-11-01T20:19:28Z rotty joined #scheme 2018-11-01T20:19:32Z Zipheir: e.g. if I define a simple point type, (let ((p (make-point 2 3))) (p )) => 2 2018-11-01T20:21:06Z eddof13 quit (Quit: eddof13) 2018-11-01T20:28:13Z Zipheir: No, that's wrong. (point-x p) would simply translate to (p ). 2018-11-01T20:30:22Z Zipheir: Whereas (p arg1 ... argn) should call the procedure with body defined by define-applicable-record-type, IIUC. 2018-11-01T20:46:47Z eddof13 joined #scheme 2018-11-01T20:54:47Z catonano quit (Quit: catonano) 2018-11-01T20:58:54Z eddof13 quit (Quit: eddof13) 2018-11-01T21:08:10Z eddof13 joined #scheme 2018-11-01T21:26:50Z jp is now known as pineboat 2018-11-01T21:27:22Z pineboat is now known as jp 2018-11-01T21:27:26Z jp quit (Quit: https://ptpb.pw/~docrivers.gif) 2018-11-01T21:38:40Z zachk joined #scheme 2018-11-01T21:45:47Z klovett joined #scheme 2018-11-01T21:48:54Z zachk quit (Changing host) 2018-11-01T21:48:54Z zachk joined #scheme 2018-11-01T21:49:13Z klovett__ quit (Ping timeout: 245 seconds) 2018-11-01T22:00:47Z jp joined #scheme 2018-11-01T22:05:00Z lambda-11235 joined #scheme 2018-11-01T22:21:58Z ngz joined #scheme 2018-11-01T22:23:24Z dbmikus__ quit (Quit: WeeChat 2.2) 2018-11-01T22:40:09Z jcowan: Zipheir: right 2018-11-01T22:42:54Z muelleme quit (Ping timeout: 268 seconds) 2018-11-01T22:43:44Z lambda-11235 quit (Quit: Bye) 2018-11-01T22:55:50Z daviid` joined #scheme 2018-11-01T22:57:39Z daviid quit (Ping timeout: 252 seconds) 2018-11-01T23:03:01Z smazga quit (Quit: leaving) 2018-11-01T23:07:58Z daviid` quit (Ping timeout: 245 seconds) 2018-11-01T23:08:03Z robotoad quit (Quit: robotoad) 2018-11-01T23:10:09Z brendyn joined #scheme 2018-11-01T23:24:50Z robotoad joined #scheme 2018-11-01T23:38:54Z muelleme joined #scheme 2018-11-01T23:39:24Z robotoad quit (Quit: robotoad) 2018-11-01T23:45:48Z muelleme quit (Ping timeout: 268 seconds) 2018-11-01T23:47:25Z Zipheir: So the one argument case would just be the 'getter', no? (point-x p) => (p ) 2018-11-01T23:48:12Z Zipheir: I guess the question is whether there is any sane reason for an applicable record to be applied to 0 arguments. Intuitively it seems there wouldn't be. 2018-11-01T23:49:45Z zachk quit (Quit: Leaving) 2018-11-01T23:51:37Z johnjay quit (Ping timeout: 256 seconds) 2018-11-01T23:53:29Z gwatt: The only sensible thing would be to return itself 2018-11-01T23:55:17Z Zipheir: A procedure that returns itself? 2018-11-01T23:55:32Z gwatt: sure 2018-11-02T00:00:12Z daviid` joined #scheme 2018-11-02T00:01:26Z rain2: why not error 2018-11-02T00:01:38Z gwatt: that also is fine. 2018-11-02T00:01:49Z gwatt: I meant the only sensible non-error 2018-11-02T00:02:10Z rain2: ah 2018-11-02T00:07:58Z szgyg quit (Ping timeout: 252 seconds) 2018-11-02T00:08:00Z pie_ quit (Ping timeout: 268 seconds) 2018-11-02T00:09:00Z jcowan: One point I hadn't considered is that these applicable-records should probably have access to thenselves in the body, so they can call their own getters and setters 2018-11-02T00:11:07Z robotoad joined #scheme 2018-11-02T00:11:25Z Zipheir: Yes, indeed. 2018-11-02T00:11:36Z Zipheir: "Scope is everything" --Dan Friedman 2018-11-02T00:11:56Z gwatt: That doesn't appear to be necessary 2018-11-02T00:12:05Z Zipheir: Why not? 2018-11-02T00:12:56Z eddof13 quit (Ping timeout: 268 seconds) 2018-11-02T00:13:06Z Zipheir: If you can't access/mutate the record value, the idea becomes sort of a with-record hook 2018-11-02T00:13:47Z gwatt: https://pastebin.com/BWDuUamq 2018-11-02T00:13:57Z gwatt: That's what I came up with 2018-11-02T00:14:48Z rain2: I like it 2018-11-02T00:15:05Z rain2: why don't we make a gensym for each record type and (r) returns it 2018-11-02T00:15:15Z rain2: so you can tell a and b are the same type of record using (eq? (a) (b)) 2018-11-02T00:15:18Z Zipheir: Sure, but that doesn't deal with the procedure defined in (define-applicable-record-type () (arg ...) . body) 2018-11-02T00:15:51Z rain2: or just return rec-name 2018-11-02T00:17:02Z Zipheir: gwatt: If can't access the members of the record value it's associated with, what's the point of so associating it? 2018-11-02T00:17:21Z gwatt: Zipheir: You're right, but what is going in body at all? 2018-11-02T00:19:35Z Zipheir: This discussion started with record-as-procedures: < jcowan> "... such that you can get/set their slots but also invoke them directly" 2018-11-02T00:24:01Z Zipheir: So with a record value rec, (rec ) would be a getter and (rec value) a setter, but (rec arg1 ... argn) would bind arg1 ... argn and evaluate in some scope, which would hopefully include rec. 2018-11-02T00:27:59Z Zipheir: (iiuc) 2018-11-02T00:28:43Z gwatt: hmm 2018-11-02T00:31:24Z gwatt: would body also have rec's fields in scope? or is it only rec itself? 2018-11-02T00:33:03Z Zipheir: Just rec itself, I imagine--because the rec procedure is the getter/setter for all its fields, that gives you everything you need. 2018-11-02T00:34:16Z Zipheir: (although you'd need to use rec-foo, rec-foo-set! in order to get access to the magic cookie for field foo) 2018-11-02T00:34:59Z gwatt: I'm not understanding what's special about the (arg ...) and body. Since you have your record already, you can do whatever you want with it 2018-11-02T00:36:23Z Zipheir: Hmm. 2018-11-02T01:31:39Z robotoad quit (Quit: robotoad) 2018-11-02T01:34:11Z lockywolf joined #scheme 2018-11-02T01:40:11Z dTal: Scheme is so weird 2018-11-02T01:40:21Z aeth: no 2018-11-02T01:40:46Z dTal: Complex numbers? Full language support. Bignums, rationals? All built in. 2018-11-02T01:41:11Z dTal: An elementary "range" function? Write it yourself you lazy bum. 2018-11-02T01:41:33Z dTal: (Or load a library) 2018-11-02T01:42:39Z ngz quit (Ping timeout: 252 seconds) 2018-11-02T01:43:17Z aeth: 1+4i is OK, but I want to know why I can't do 1+4i+16j+64k 2018-11-02T01:44:09Z aeth: Complex numbers are so 20th century, quaternions are the new cool thing 2018-11-02T01:49:25Z Zenton quit (Ping timeout: 246 seconds) 2018-11-02T01:51:35Z Zenton joined #scheme 2018-11-02T01:51:53Z DGASAU` joined #scheme 2018-11-02T01:53:21Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-02T01:54:54Z aeth: dTal: I think Scheme's written the way it's written because it wants to be a sort of minimal core language that can be extended. 2018-11-02T01:55:36Z aeth: dTal: You can't really build the numeric tower if it's not provided because (1) it would be much slower and (2) +, -, *, /, etc., cheat and are generic even though nothing in Scheme is generic. 2018-11-02T01:57:43Z dTal: Well, the first objection applies to any functionality that's not built-in. 2018-11-02T01:58:16Z aeth: Interestingly, though, bignums are enough to in a few hundred lines get (slow) arbitrary-precision decimal floating point (store the integer, the exponent, and the precision and manipulate the integer and exponent sides keeping the integer to be precision long), but you can't actually call the procedures for this new object +, -, *, /, etc. 2018-11-02T01:59:03Z bpalmer left #scheme 2018-11-02T01:59:12Z aeth: dTal: There are some things that the small core doesn't really equip you to implement. Hash tables, for instance. 2018-11-02T01:59:42Z aeth: (at least not efficiently) 2018-11-02T02:00:32Z dTal: I feel like, for the schemeish philosophy to actually *work* well, the bits you add need to be able to be just as fast as the parts that are built in. 2018-11-02T02:00:56Z dTal: Tying the language primitives so heavily to linked lists seem to me to be a misstep, from that perspective. 2018-11-02T02:03:29Z aeth: I agree, but that's less and less the case. e.g. You can use vectors. 2018-11-02T02:03:39Z aeth: It's really the syntax that has to be lists, since you're going to be randomly splicing things around 2018-11-02T02:04:06Z aeth: But Schemers probably overuse lists more than most Lisps. 2018-11-02T02:04:14Z dTal: Culturally, s-expressions are utterly tied to linked lists, cons and friends. But there's no technical reason why the syntax lists themselves couldn't be vectors. That's just not The Way It's Done. 2018-11-02T02:04:55Z dTal: Not in Scheme, anyway. 2018-11-02T02:04:56Z aeth: Macros are compile time and compilation is fast enough. You don't have to touch lists at all in runtime. 2018-11-02T02:05:16Z aeth: But you don't want vectors because with macros you're splicing things into the middle 2018-11-02T02:05:42Z aeth: stuff like `(foo ,@bar ,baz) 2018-11-02T02:05:55Z dTal: Good point. 2018-11-02T02:06:17Z aeth: It's possible there's an exotic data structure that would work well with the two quasiquote operations (,@ and ,) 2018-11-02T02:06:39Z aeth: That might work for some lisps, but that's probably not minimalist enough for Scheme 2018-11-02T02:07:47Z aeth: But I find myself not really liking lists in runtime. 2018-11-02T02:08:23Z aeth: Usually you want something like a struct (called a record in Scheme) or a vector or a hash table, etc. 2018-11-02T02:09:03Z dTal: I shall have to make an effort to use more appropriate data structures. I always end up using lists. 2018-11-02T02:09:12Z aeth: Culturally, lists are way overused 2018-11-02T02:09:34Z aeth: The famous Worse is Better essay mentioned it as a problem way back in 1991 2018-11-02T02:09:43Z dTal: But I think very heavily in what Scheme calls 'vectors'. My favorite paradigm is array-functional a la APL or Numpy 2018-11-02T02:09:44Z aeth: 2.2.4. http://dreamsongs.com/WIB.html 2018-11-02T02:10:27Z robotoad joined #scheme 2018-11-02T02:10:28Z aeth: "What’s worse is that in the particular application, the matrices were all fixed size, and matrix arithmetic would have been just as fast in Lisp as in FORTRAN." 2018-11-02T02:11:18Z dTal: I think I read that once 2018-11-02T02:11:20Z aeth: A nice middle ground is to write macros to automatically convert lists to more appropriate data structures. 2018-11-02T02:12:01Z aeth: You're working with lists-as-syntax in that case. 2018-11-02T02:12:37Z Zipheir: The horror. 2018-11-02T02:12:38Z aeth: Racket makes conses immutable to try to solve this problem (lists being used even when they're not appropriate) in a fancier way. 2018-11-02T02:13:23Z jcowan: dTal: In that case SRFI 122 should be your friends 2018-11-02T02:13:37Z aeth: You can't assume standard mutable conses in Common Lisp or Scheme have any fancy optimizations going on, though. 2018-11-02T02:15:41Z aeth: I'm considering implementing BLAS or something like it in Common Lisp. It doesn't seem like that much. (LAPACK, on the other hand, seems like it's where the majority of the work is. That might have to be mechanically translated with something more optimized than f2cl.) 2018-11-02T02:15:49Z Zipheir: The great thing about lists is (a) they are the simplest inductively-defined type, which makes them easy to reason about, and (b) list operations actually have pretty good time complexity for a wide range of applications. 2018-11-02T02:15:58Z aeth: The nature of BLAS would make it very easy to CLFFI into from cl-scheme 2018-11-02T02:17:14Z aeth: Zipheir: lists are when you want to splice random things in the middle (quasiquotation is a good example) or do a bunch of substitutions (again, common in macros) or you want to iterate over something in order (like source code once it's finished with all the macro stuff) 2018-11-02T02:17:35Z aeth: (by substitutions I mean substitutions that could change the element count) 2018-11-02T02:17:42Z aeth: (so insert/delete) 2018-11-02T02:17:58Z Zipheir: aeth: Those are some uses of lists, yes. 2018-11-02T02:18:41Z aeth: You shouldn't use alists (or, if available, plists) over hash-tables. Not even when there's small enough elements where arguably it's faster. Imo that's microoptimization. 2018-11-02T02:19:00Z aeth: You should use alists (using that because they're more idiomatic for Scheme) when you want to iterate over a key/value thing 2018-11-02T02:19:06Z aeth: Configuration files, for instance. 2018-11-02T02:19:21Z Zipheir: No-one said alists are a great use of lists. 2018-11-02T02:19:27Z aeth: eh 2018-11-02T02:19:57Z aeth: You underestimate how common it is for Lispers and Schemers to overuse lists just because all of the introductory material is really preparing you to write macros. 2018-11-02T02:20:05Z aeth: A lot of people get the impression that everything's a list. 2018-11-02T02:20:16Z aeth: (More correctly, nearly everything syntactically is a list) 2018-11-02T02:21:03Z Zipheir: Fair enough. 2018-11-02T02:21:12Z robotoad quit (Quit: robotoad) 2018-11-02T02:23:56Z robotoad joined #scheme 2018-11-02T02:24:24Z Zipheir: But it's impressive how O(1) car/cdr and O(n) access to any element, combined with the low space complexity and simple structure of lists, makes it a nice type. 2018-11-02T02:24:35Z aeth: You should treat Scheme or Lisp like any other programming language and use whatever data structure you'd use in another language (within reason) rather than overuse lists. 2018-11-02T02:24:39Z aeth: That was my point. 2018-11-02T02:25:15Z aeth: Lists do exist in other languages. :-) 2018-11-02T02:25:23Z aeth: Sorry for communicating it poorly. 2018-11-02T02:25:30Z Zipheir: Sure. 2018-11-02T02:27:33Z Zipheir: That you can build a language with only one type does not imply that it's the right tool for every job. 2018-11-02T02:27:40Z Zipheir: *glares at Lua* 2018-11-02T02:28:22Z aeth: Right 2018-11-02T02:29:18Z aeth: I'd describe Lua as "You know those newbies who misunderstand Lisp/Scheme and think every data structure is a list when it's really all syntax that's a list? They... actually made a language based on that misunderstanding, but with hash tables." 2018-11-02T02:29:31Z aeth: Inspired by a misunderstanding! 2018-11-02T02:29:38Z aeth: And it doesn't even (afaik) use tables for its syntax! 2018-11-02T02:31:52Z Zipheir: Yeah, that's probably close to correct, given how they tried to disguise the table type as various random structures from other languages using industrial amounts of sugar. 2018-11-02T02:32:56Z Zipheir: "Look it's an object! Look it's a vector! Look, they're all actually just associative arrays! Yes, this is a complete mess!" 2018-11-02T02:36:06Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-02T02:37:18Z Zipheir: You might summarize the different philosophies as: Lisp--one syntax, many types makes for a simpler language. Lua--one type, many syntaxes makes programmers from different backgrounds more comfortable. 2018-11-02T02:37:54Z Zipheir: (or something, I'm not sure what Lua's modus operandi is, reall) 2018-11-02T02:37:58Z Zipheir: s/reall/&y/ 2018-11-02T02:38:24Z aeth: yeah 2018-11-02T02:38:31Z aeth: And Lua's syntax is... too minimal 2018-11-02T02:39:10Z aeth: Either you provide me with += or you give me the ability to implement it myself (Common Lisp actually does both since it has define-modify-macro, useful for making something like multf) 2018-11-02T02:39:31Z aeth: I don't like tying this_descriptive_variable_name = this_descriptive_variable_name 1 2018-11-02T02:39:34Z aeth: *typing 2018-11-02T02:39:40Z aeth: See? It was too much for me to not have a typo there 2018-11-02T02:40:39Z aeth: What's funny though is even though Common Lisp has incf, I rarely use it. In something like Lua, I need += a million times more than a language that *gives* me a += equivalent 2018-11-02T02:40:58Z Zipheir: It's an expressively-challenged language, to be sure. 2018-11-02T02:43:03Z Zipheir: It says something about a language when its designers dismissed Lisp for having 'unfriendly' syntax. https://en.wikipedia.org/wiki/Lua_(programming_language)#History 2018-11-02T02:43:56Z Zipheir: (And when the reference text written by said designers about said language reads like a bunch of gobbledygook.) 2018-11-02T02:44:04Z aeth: The main nitpicking detail that Lua does wrong though is being a 1-based language in a language designed primarily to be used as a scripting language embedded within C and C++ applications! 2018-11-02T02:44:13Z aeth: That's asking for off-by-one errors! 2018-11-02T02:44:19Z aeth: (And it happens all of the time!) 2018-11-02T02:44:48Z lockywolf quit (Read error: Connection reset by peer) 2018-11-02T02:44:55Z Zipheir: Yes. 2018-11-02T02:45:03Z lockywolf joined #scheme 2018-11-02T02:49:25Z Zipheir: There are several projects using Lua that I would like to convince to use Chibi, or some other nice embedded Scheme. 2018-11-02T02:54:42Z aeth: no 2018-11-02T02:54:59Z aeth: The only acceptable embedded scripting language is miniKanren in Scheme in ECL 2018-11-02T02:55:18Z Zipheir: Hah 2018-11-02T02:55:18Z aeth: But, really, miniKanren shines best when you use it to write your own scripting language 2018-11-02T02:57:50Z oats joined #scheme 2018-11-02T02:58:03Z daviid` quit (Ping timeout: 244 seconds) 2018-11-02T02:58:13Z oats: hi y'all. How do modern lisp interpreters get around stack size limits when doing lots of recursion? 2018-11-02T02:58:46Z oats: I have a toy scheme-like thing that I've been playing with, and it's prone to stack overflows if the recursion gets a little too deep 2018-11-02T03:10:15Z aeth: Schemes in particular usually optimize tail calls 2018-11-02T03:10:32Z aeth: https://en.wikipedia.org/wiki/Tail_call#Implementation_methods 2018-11-02T03:10:39Z aeth: not every lisp is interpreted though 2018-11-02T03:11:29Z oats: does tail-call optimization only work if the recursive call is the innermost proc call? 2018-11-02T03:13:24Z acarrico quit (Ping timeout: 252 seconds) 2018-11-02T03:14:24Z aeth: it needs to be in the tail position 2018-11-02T03:14:50Z aeth: I think it's actually outermost on a return line. 2018-11-02T03:15:10Z aeth: A bit tricky to spot because of the lack of an explicit return 2018-11-02T03:18:16Z Zipheir: oats: Steele's "Lambda: The Ultimate GOTO" is the classic here https://dspace.mit.edu/bitstream/handle/1721.1/5753/AIM-443.pdf 2018-11-02T03:18:29Z aeth: the obvious one to spot is (define (loop) (loop)) 2018-11-02T03:18:42Z aeth: Just an infinite loop that shouldn't stack overflow 2018-11-02T03:18:56Z aeth: That's the simplest you can get. 2018-11-02T03:18:58Z razzy` joined #scheme 2018-11-02T03:19:18Z fizzie: Standards-compliant Schemes in particular have to do it: https://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-6.html#%_sec_3.5 2018-11-02T03:19:27Z lavaflow quit (Ping timeout: 252 seconds) 2018-11-02T03:19:27Z aeth: It would look something like (defun loop () (loop)) if your Lisp has more CL-inspired syntax for definition 2018-11-02T03:19:40Z oats: I'm not sure what defines the "tail" of a function call; I'm still kinda new to lisp 2018-11-02T03:20:00Z oats: in an imperative lanugage it's obvious, it's just the last line of a function 2018-11-02T03:20:08Z aeth: well, no 2018-11-02T03:20:28Z aeth: In most imperative languages it'd be any line that has "return foo();" where foo() is the name of the function 2018-11-02T03:20:39Z aeth: That's why I said return makes it easy to spot 2018-11-02T03:20:42Z oats: sorry, yeah, that's what I meant 2018-11-02T03:20:56Z aeth: (You can also optimize tail recursion where a calls b which calls a which calls b...) 2018-11-02T03:21:06Z razzy quit (Ping timeout: 252 seconds) 2018-11-02T03:21:26Z oats: aeth: that might actually apply to my toy scheme nicely 2018-11-02T03:21:52Z Zipheir: oats: A tail call is a procedure call in which there's no expression to evaluate that uses the value of the call. (define (foo x) ... (+ 2 (foo (+ x 1)))) isn't a tail call, but (define (foo x) ... (foo (+ x 2))) is. 2018-11-02T03:22:02Z oats: evaluation of an expression is a very recursive process, but there might be 1-2 other functions in between a recursive call 2018-11-02T03:22:50Z oats: Zipheir: that makes sense, thanks 2018-11-02T03:23:33Z oats: I actually have my code up on github, here's where the evaluation process starts: https://github.com/oatberry/lisprs/blob/master/src/eval.rs 2018-11-02T03:23:34Z Zipheir: oats: In a nutshell, you're passing all the info needed to get a value in the procedure call. So you can just optimize that to a GOTO. 2018-11-02T03:27:09Z razzy`` joined #scheme 2018-11-02T03:28:25Z razzy` quit (Ping timeout: 268 seconds) 2018-11-02T03:43:30Z ggole joined #scheme 2018-11-02T03:46:13Z lavaflow joined #scheme 2018-11-02T03:52:37Z daviid joined #scheme 2018-11-02T04:01:31Z klovett quit (Remote host closed the connection) 2018-11-02T04:02:17Z klovett joined #scheme 2018-11-02T04:05:46Z lockywolf quit (Ping timeout: 260 seconds) 2018-11-02T04:09:37Z edgar-rft quit (Remote host closed the connection) 2018-11-02T04:09:37Z jonaslund_ joined #scheme 2018-11-02T04:09:37Z edgar_ joined #scheme 2018-11-02T04:10:58Z jonaslund quit (Ping timeout: 268 seconds) 2018-11-02T04:11:09Z astronavt joined #scheme 2018-11-02T04:13:21Z iskander quit (Ping timeout: 252 seconds) 2018-11-02T04:16:39Z klovett quit (Ping timeout: 252 seconds) 2018-11-02T04:26:18Z TheGreekOwl joined #scheme 2018-11-02T04:28:20Z razzy`` quit (Remote host closed the connection) 2018-11-02T04:28:36Z razzy`` joined #scheme 2018-11-02T04:32:33Z Guest24331 quit (Ping timeout: 268 seconds) 2018-11-02T04:38:40Z siraben: What papers do I read to understand how to implement tail call optimization? 2018-11-02T04:39:46Z lockywolf joined #scheme 2018-11-02T04:40:43Z Riastradh: So (1 - t) a + t b has O(epsilon) relative error as long as ab > 0, but it is monotonic in general only if ab < 0. a + (b - a) t is monotonic when ab > 0, but has relative error bounded only by O(epsilon (b - a)/b) unless there's a trick I'm not seeing. Bummer. 2018-11-02T04:42:20Z klovett joined #scheme 2018-11-02T04:43:29Z Riastradh: (Lerp is ill-conditioned near zero, so nothing has good forward error when ab < 0.) 2018-11-02T04:50:11Z ggole: siraben: the details depend on your implementation 2018-11-02T04:51:16Z ggole: In the worst case the object platform doesn't meaningfully support tail calls and you probably need some kind of trampoline 2018-11-02T04:51:56Z ggole: The easiest case is probably a CPS compiler, for which TCO is simple copy propagation 2018-11-02T04:57:54Z daviid quit (Ping timeout: 252 seconds) 2018-11-02T05:07:04Z Inline quit (Quit: Leaving) 2018-11-02T05:10:47Z robotoad quit (Ping timeout: 268 seconds) 2018-11-02T05:21:43Z robotoad joined #scheme 2018-11-02T05:36:50Z lockywolf quit (Ping timeout: 250 seconds) 2018-11-02T05:44:48Z sleffy joined #scheme 2018-11-02T05:45:47Z sleffy quit (Client Quit) 2018-11-02T06:03:21Z brendyn quit (Ping timeout: 252 seconds) 2018-11-02T06:04:56Z xkapastel joined #scheme 2018-11-02T06:12:58Z ubii_ joined #scheme 2018-11-02T06:13:02Z ubii quit (Read error: Connection reset by peer) 2018-11-02T06:22:29Z astronavt quit (Quit: Leaving) 2018-11-02T06:25:48Z klovett quit (Ping timeout: 250 seconds) 2018-11-02T06:34:44Z turbofail quit (Ping timeout: 276 seconds) 2018-11-02T06:36:31Z skapata quit (Remote host closed the connection) 2018-11-02T06:48:27Z hugo quit (Ping timeout: 252 seconds) 2018-11-02T06:53:41Z robotoad quit (Quit: robotoad) 2018-11-02T07:05:04Z klovett joined #scheme 2018-11-02T07:18:18Z hugo2 joined #scheme 2018-11-02T07:37:50Z muelleme joined #scheme 2018-11-02T07:42:21Z muelleme quit (Ping timeout: 252 seconds) 2018-11-02T07:43:22Z asumu quit (Ping timeout: 250 seconds) 2018-11-02T07:43:40Z asumu joined #scheme 2018-11-02T08:17:00Z vyzo quit (Quit: Leaving.) 2018-11-02T08:38:54Z muelleme joined #scheme 2018-11-02T08:43:27Z muelleme quit (Ping timeout: 240 seconds) 2018-11-02T08:51:16Z InverseRhombus quit (Ping timeout: 272 seconds) 2018-11-02T08:57:46Z daviid joined #scheme 2018-11-02T09:13:07Z Zaab1t joined #scheme 2018-11-02T09:17:50Z InverseRhombus joined #scheme 2018-11-02T09:33:23Z Zaab1t quit (Ping timeout: 245 seconds) 2018-11-02T09:44:31Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-02T09:47:43Z Zaab1t joined #scheme 2018-11-02T10:15:41Z Zaab1t quit (Quit: bye bye friends) 2018-11-02T10:53:41Z rain2: that isn't true 2018-11-02T10:53:43Z rain2: tail calls are not goto 2018-11-02T11:13:00Z daviid quit (Ping timeout: 252 seconds) 2018-11-02T11:21:36Z nly joined #scheme 2018-11-02T11:23:42Z hugo2 left #scheme 2018-11-02T11:24:45Z hugo joined #scheme 2018-11-02T11:29:06Z ManDay joined #scheme 2018-11-02T11:32:57Z Zaab1t joined #scheme 2018-11-02T11:33:46Z Zaab1t quit (Client Quit) 2018-11-02T11:41:10Z qu1j0t3: rain2: can you explain what you mean? they are often compiled to jumps 2018-11-02T11:52:08Z klovett quit (Remote host closed the connection) 2018-11-02T11:52:26Z klovett joined #scheme 2018-11-02T12:18:10Z iskander joined #scheme 2018-11-02T12:26:04Z grettke joined #scheme 2018-11-02T12:28:28Z xkapastel joined #scheme 2018-11-02T12:29:27Z iskander quit (Ping timeout: 252 seconds) 2018-11-02T12:43:33Z ManDay quit (Quit: WeeChat 2.2) 2018-11-02T12:47:22Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-02T12:50:40Z grettke joined #scheme 2018-11-02T13:21:01Z nly quit (Ping timeout: 246 seconds) 2018-11-02T13:40:05Z teardown joined #scheme 2018-11-02T13:48:27Z cortisol quit (Ping timeout: 240 seconds) 2018-11-02T13:50:39Z cortisol joined #scheme 2018-11-02T13:55:12Z szgyg joined #scheme 2018-11-02T13:56:54Z razzy`` quit (Ping timeout: 252 seconds) 2018-11-02T13:58:49Z skapata joined #scheme 2018-11-02T14:02:41Z elderK joined #scheme 2018-11-02T14:21:18Z Inline joined #scheme 2018-11-02T14:22:14Z Inline quit (Remote host closed the connection) 2018-11-02T14:22:41Z dbmikus joined #scheme 2018-11-02T14:22:44Z Inline joined #scheme 2018-11-02T14:34:40Z badkins_ quit (Remote host closed the connection) 2018-11-02T14:35:40Z f32ff joined #scheme 2018-11-02T14:40:04Z robotoad joined #scheme 2018-11-02T14:54:59Z dbmikus quit (Quit: WeeChat 2.2) 2018-11-02T14:55:27Z dbmikus joined #scheme 2018-11-02T14:58:16Z robotoad quit (Quit: robotoad) 2018-11-02T15:04:29Z badkins joined #scheme 2018-11-02T15:09:22Z badkins quit (Ping timeout: 272 seconds) 2018-11-02T15:13:02Z jcowan: rename + goto, more precisely 2018-11-02T15:13:03Z badkins joined #scheme 2018-11-02T15:13:39Z dTal: it's like goto, but with scoped variables and explicitely passed state 2018-11-02T15:14:25Z dTal: i.e. not really much like goto 2018-11-02T15:14:34Z dbmikus_ joined #scheme 2018-11-02T15:14:58Z jcowan: Internally, Lua optimizes for the case when keys are positive integers inu a small range 2018-11-02T15:16:06Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-02T15:30:02Z charh joined #scheme 2018-11-02T15:32:53Z smazga joined #scheme 2018-11-02T15:47:27Z jcowan: siraben: It depends on your strategy for implementing non-tail calls. The basic idea is to reuse the call frame on the stack, if you have a stack, or to drop the current call frame from the call-frame list in the heap and substitute the new one, if you keep the stack that way. 2018-11-02T15:50:00Z robotoad joined #scheme 2018-11-02T16:02:40Z Zipheir: siraben: It's also helpful to see how CPS and TCO fit together, since that was the tack Steele & Sussman took with early Schemes. The way those two techniques interact is so beautiful. 2018-11-02T16:06:30Z siraben: Does conversion to CPS imply TCO? 2018-11-02T16:06:53Z siraben: Or I guess not because the continuation is being passed around and would be growing, rather than remaining constnat. 2018-11-02T16:06:56Z siraben: constant 2018-11-02T16:06:56Z Zipheir: siraben: (I'm still mainly lurking your question to see if someone recommends some good papers :)) 2018-11-02T16:07:20Z Zipheir: Well, with CPS _every_ call becomes a tail call... 2018-11-02T16:15:31Z siraben: Right. But TCO means that I could have something like (define (loop) (loop)) then running (loop) would repeat forever. 2018-11-02T16:15:32Z siraben: Does the CPS conversion of (loop) allow that? 2018-11-02T16:15:53Z siraben: i.e. (loop) would be able to all itself forever, without any extra memory being used and so on. 2018-11-02T16:16:43Z Zipheir: Sure, if you optimize the tail call it would of course just be a jump. 2018-11-02T16:17:36Z Zipheir: Reynolds' paper on the discoveries of continuations is a good read http://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/reynolds-discoveries.pdf 2018-11-02T16:17:39Z Zipheir: ^^ siraben 2018-11-02T16:18:52Z siraben: Doesn't CPS pass a continuation to the tail call? 2018-11-02T16:19:08Z Zipheir: There's a good quote of a discussion where McIlroy (yes, that McIlroy of UNIX pipe fame) says to Wijngaarden "but but the stack!" and Wijngaarden just explains tail call optimization to him in like 5 sentences. 2018-11-02T16:19:25Z Zipheir: (But everyone ignored the idea for another 15 years. Oh well.) 2018-11-02T16:20:32Z Zipheir: siraben: Yeah, but remember, the continuation is basically just a label to jump to. 2018-11-02T16:20:46Z siraben: Right. I see. 2018-11-02T16:20:59Z Zipheir: It's _beautiful_ how that works out. 2018-11-02T16:26:26Z razzy`` joined #scheme 2018-11-02T16:26:33Z razzy`` quit (Remote host closed the connection) 2018-11-02T16:27:12Z razzy joined #scheme 2018-11-02T16:31:38Z ggole: CPS conversion alone does not achieve TCO. Copy propagation in CPS does. 2018-11-02T16:31:53Z phlm joined #scheme 2018-11-02T16:34:47Z ventonegro: The purpose of CPS is not to enable TCO. It is to make every call a tail call. 2018-11-02T16:34:56Z siraben: Right. 2018-11-02T16:35:05Z siraben: What's copy propagation? 2018-11-02T16:37:07Z ManDay joined #scheme 2018-11-02T16:37:25Z ggole: It's when you discover that a variable a always has the value of another variable b, so you replace all mentions of a with b (and eliminate a). 2018-11-02T16:37:38Z siraben: I see. 2018-11-02T16:37:51Z ggole: In this case the variables name continuations rather than more typical values. 2018-11-02T16:37:56Z siraben: Sounds like a form of partial evaluation? 2018-11-02T16:38:13Z siraben: (define a 5), (+ a 3) => (+ 5 3) 2018-11-02T16:38:16Z siraben: etc. 2018-11-02T16:38:46Z ggole: You could view it that way, yes. 2018-11-02T16:39:30Z Zipheir: ggole: How does that apply to tail calls? 2018-11-02T16:39:39Z ggole: Anyway, my point was *not* that you should (or should not) use CPS. It was that the best way of implementing TCO depends on your implementation. 2018-11-02T16:40:05Z siraben: I see. What if I want to learn about how to implement it myself? 2018-11-02T16:40:10Z ggole: After all, if you are paying all the costs for using CPS, you might as well get TCO for free while you are at it. 2018-11-02T16:40:40Z ggole: Zipheir: tail calls are exactly the ones for which you can forward the continuation argument. 2018-11-02T16:41:38Z ggole: siraben: you could try Appel's Compiling with Continuations book 2018-11-02T16:42:05Z ggole: Copy propagation itself is described almost everywhere, but of course it won't do you any good unless you are using CPS 2018-11-02T16:42:20Z Zipheir: Most of the books on the subject are out-of-print or super expensive, sadly. 2018-11-02T16:42:30Z siraben: Strange. 2018-11-02T16:43:02Z siraben: I'll read Compiling with Continuations. Seems a lot more approachable with knowledge of Standard ML. 2018-11-02T16:45:22Z ggole: It's worth reading even if you don't use CPS, just to see how the approach works out 2018-11-02T16:46:06Z acarrico joined #scheme 2018-11-02T16:46:17Z Zipheir: siraben: Also, Matt Might's post on CPS is short but good http://matt.might.net/articles/cps-conversion/ 2018-11-02T16:51:15Z siraben: Zipheir: i'll take a look, thanks! 2018-11-02T17:01:18Z edgar_ quit (Quit: Leaving) 2018-11-02T17:02:50Z edgar-rft joined #scheme 2018-11-02T17:07:29Z iskander joined #scheme 2018-11-02T17:09:01Z Zenton quit (Read error: Connection reset by peer) 2018-11-02T17:11:00Z Zenton joined #scheme 2018-11-02T17:17:47Z Zipheir: The state of the programming world's priorities is such that we have 5,000,000 books on writing garbage Web apps and only a couple of out-of-print $90.00 books on compilation. Grr. 2018-11-02T17:17:56Z Zenton quit (Ping timeout: 272 seconds) 2018-11-02T17:21:40Z on_ion: so -- there are programs (books) for people to be programs that make programs. true coders think for themselves dont need that much books to get programmed with if they are programmers themselves. 2018-11-02T17:21:54Z on_ion: imo 2018-11-02T17:22:19Z Zenton joined #scheme 2018-11-02T17:22:48Z lritter joined #scheme 2018-11-02T17:25:09Z qu1j0t3: you can't recapitulate computer science in your basement. 2018-11-02T17:25:18Z qu1j0t3: eventually you'll need an idea that was invented by someone else. 2018-11-02T17:25:21Z klovett_ joined #scheme 2018-11-02T17:26:50Z on_ion: true 2018-11-02T17:28:24Z Zipheir: on_ion: Well, true programmers also set the initial constants of the universe such that the program they want appears on their laptop's hard disk. 2018-11-02T17:28:38Z klovett quit (Ping timeout: 244 seconds) 2018-11-02T17:29:45Z Zipheir: on_ion: Compilation is just hard and not nearly as profitable as writing the next Angry Birds. 2018-11-02T17:30:07Z on_ion: hrm also true =) 2018-11-02T17:30:32Z on_ion: more fulfilling, more beneficial 2018-11-02T17:33:04Z smazga quit (Quit: leaving) 2018-11-02T17:40:01Z muelleme joined #scheme 2018-11-02T17:43:36Z eddof13 joined #scheme 2018-11-02T17:44:58Z muelleme quit (Ping timeout: 268 seconds) 2018-11-02T17:46:54Z Zipheir: Also, if books are programs, they run on the human brain and their results are highly non-deterministic. :) 2018-11-02T17:48:40Z Zipheir: (From our perspective, at least. Maybe a higher intelligence would have seen immediately that giving a certain Austrian ex-art student a copy of Also Sprach Zarathustra would be a Bad Thing.) 2018-11-02T17:51:00Z jcowan: Then again, maybe higher intelligences can see which programs halt by sheer intuition. 2018-11-02T18:00:17Z vyzo joined #scheme 2018-11-02T18:00:21Z phlm quit (Remote host closed the connection) 2018-11-02T18:07:33Z dbmikus_ quit (Ping timeout: 245 seconds) 2018-11-02T18:14:38Z on_ion: hmm. =) prolog 2018-11-02T18:23:37Z ManDay quit (Quit: WeeChat 2.2) 2018-11-02T18:25:17Z pie_ joined #scheme 2018-11-02T18:31:23Z ski . o O ( Sturgeon's law ) 2018-11-02T18:35:22Z ski: re CPS, perhaps "Representing control: a study of the CPS transformation" in 1992 at ,"Abstracting Control" in 1990 at , both by Andrzej Filinski,Olivier Danvy, could be interesting 2018-11-02T18:37:18Z dbmikus_ joined #scheme 2018-11-02T18:42:02Z dbmikus_ quit (Ping timeout: 250 seconds) 2018-11-02T18:43:36Z dbmikus_ joined #scheme 2018-11-02T18:52:58Z Zipheir: ski: ty! 2018-11-02T19:04:20Z razzy quit (Ping timeout: 272 seconds) 2018-11-02T19:10:46Z daviid joined #scheme 2018-11-02T19:22:49Z ggole quit (Quit: ggole) 2018-11-02T19:36:00Z pie_ quit (Ping timeout: 272 seconds) 2018-11-02T19:36:46Z acarrico quit (Ping timeout: 244 seconds) 2018-11-02T19:39:03Z jonaslund_ quit (Ping timeout: 268 seconds) 2018-11-02T19:44:37Z jonaslund joined #scheme 2018-11-02T19:47:39Z lambda-11235 joined #scheme 2018-11-02T19:58:52Z razzy joined #scheme 2018-11-02T20:04:47Z lritter quit (Ping timeout: 240 seconds) 2018-11-02T20:06:31Z eddof13 quit (Quit: eddof13) 2018-11-02T20:06:44Z pie_ joined #scheme 2018-11-02T20:11:03Z muelleme joined #scheme 2018-11-02T20:11:44Z pie_ quit (Ping timeout: 268 seconds) 2018-11-02T20:12:09Z pie_ joined #scheme 2018-11-02T20:14:34Z hel-io joined #scheme 2018-11-02T20:15:05Z zachk joined #scheme 2018-11-02T20:15:36Z klovett joined #scheme 2018-11-02T20:16:03Z muelleme quit (Ping timeout: 268 seconds) 2018-11-02T20:16:05Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-02T20:16:22Z VKraft joined #scheme 2018-11-02T20:16:31Z DGASAU joined #scheme 2018-11-02T20:18:37Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-02T20:19:54Z zachk quit (Changing host) 2018-11-02T20:19:54Z zachk joined #scheme 2018-11-02T20:22:17Z VKraft quit (Quit: Leaving) 2018-11-02T20:22:55Z acarrico joined #scheme 2018-11-02T20:28:19Z pie_ quit (Remote host closed the connection) 2018-11-02T20:28:47Z pie_ joined #scheme 2018-11-02T20:31:42Z hel-io quit (Ping timeout: 252 seconds) 2018-11-02T20:31:46Z hel-io_ joined #scheme 2018-11-02T20:34:59Z pie_ quit (Excess Flood) 2018-11-02T20:35:16Z pie_ joined #scheme 2018-11-02T20:38:27Z pierpa joined #scheme 2018-11-02T20:44:36Z rain2: >CPS conversion alone does not achieve TCO. Copy propagation in CPS does. 2018-11-02T20:44:38Z pie_ quit (Ping timeout: 245 seconds) 2018-11-02T20:44:41Z rain2: just wanted to point out this is not correct 2018-11-02T20:44:51Z rain2: you don't need to do copy propagation 2018-11-02T20:45:10Z rain2: if you CPS transform then you need to implement all calls as tail calls to get proper TCO 2018-11-02T20:46:01Z rain2: non tail calls will extend the continuation before doing a tail call, that corresponds to stack frame growth 2018-11-02T20:46:25Z rain2: I would also say that CPS is a very difficult route to take for writing a compiler 2018-11-02T20:48:37Z rain2: https://rain-1.github.io/scheme you can read some details about my scheme compiler if you like, it works by compiling to stack and optimizing tail calls specifically. instead of using CPS which gets you TCO implicitly. 2018-11-02T20:49:01Z rain2: the flatten & assemble pass is the main one to look at regarding TCO 2018-11-02T20:50:01Z groovy2shoes quit (Quit: moritura te salutat) 2018-11-02T20:51:20Z DGASAU` joined #scheme 2018-11-02T20:52:28Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-02T20:55:55Z hel-io_ quit (Remote host closed the connection) 2018-11-02T20:56:02Z eddof13 joined #scheme 2018-11-02T20:58:47Z nly joined #scheme 2018-11-02T21:02:21Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-02T21:02:36Z badkins quit (Ping timeout: 252 seconds) 2018-11-02T21:11:38Z acarrico quit (Ping timeout: 272 seconds) 2018-11-02T21:11:58Z dbmikus_ quit (Ping timeout: 250 seconds) 2018-11-02T21:17:29Z dbmikus_ joined #scheme 2018-11-02T21:25:44Z jonaslund quit (Ping timeout: 268 seconds) 2018-11-02T21:38:00Z Zipheir: < rain2> CPS is a very difficult route to take 2018-11-02T21:38:08Z Zipheir: A lot of Scheme luminaries disagree with that. 2018-11-02T21:38:18Z rain2: no they dont 2018-11-02T21:38:28Z jonaslund joined #scheme 2018-11-02T21:40:06Z Zipheir: Matt Might, Felix Winkelmann, Olin Shivers, Steele & Sussman <-- all people very much pro-CPS 2018-11-02T21:40:55Z lambda-11235 quit (Quit: Bye) 2018-11-02T21:42:58Z rain2: http://www.ccs.neu.edu/home/shivers/papers/diss.pdf section 2.1 and 2.1.2 2018-11-02T21:43:10Z Zipheir: "In terms of unreasonable effectiveness, the transformation to CPS ranks with the Y combinator." --Matt Might 2018-11-02T21:45:25Z eddof13 quit (Quit: eddof13) 2018-11-02T21:45:45Z Zipheir: rain2: Good stuff. But he seems to argue that the hard thing to get right is lambda, not CPS. 2018-11-02T21:46:00Z rain2: yeah 2018-11-02T21:47:11Z eddof13 joined #scheme 2018-11-02T21:54:43Z allegorical joined #scheme 2018-11-02T22:02:21Z elderK quit (Quit: Connection closed for inactivity) 2018-11-02T22:08:12Z jcowan: Zipheir: You need to do a case analysis on different kinds of lambdas to decide how to implement them. Dybvig's discussion of strategies is quite accessible. A little more dense, but not that much, is http://lampwww.epfl.ch/teaching/archive/advanced_compiler/2006/assignments/part5/continuations.pdf 2018-11-02T22:09:17Z jcowan: http://agl.cs.unm.edu/~williams/cs491/three-imp.pdf is the Dybvig I mentioned; long, but clear. 2018-11-02T22:14:39Z Zipheir: jcowan: ty, these look very informative! 2018-11-02T22:14:51Z badkins joined #scheme 2018-11-02T22:19:44Z jcowan: Reading people's theses, if you are not scared of lots of pages, is often a huge win, because they have to be written to make sense to old farts^W^Wtenured professors. 2018-11-02T22:24:42Z groovy2shoes joined #scheme 2018-11-02T22:43:33Z cozachk joined #scheme 2018-11-02T22:45:27Z zachk quit (Ping timeout: 252 seconds) 2018-11-02T23:02:30Z dbmikus_ quit (Ping timeout: 252 seconds) 2018-11-02T23:04:39Z pie_ joined #scheme 2018-11-02T23:08:13Z grettke joined #scheme 2018-11-02T23:15:30Z pie_ quit (Ping timeout: 268 seconds) 2018-11-02T23:17:01Z acarrico joined #scheme 2018-11-02T23:18:16Z cozachk quit (Quit: Leaving) 2018-11-02T23:18:47Z zachk joined #scheme 2018-11-02T23:18:55Z zachk quit (Changing host) 2018-11-02T23:18:55Z zachk joined #scheme 2018-11-02T23:20:23Z mejja joined #scheme 2018-11-02T23:23:13Z hel-io joined #scheme 2018-11-02T23:23:54Z pie_ joined #scheme 2018-11-02T23:26:44Z robotoad quit (Quit: robotoad) 2018-11-02T23:31:36Z hel-io_ joined #scheme 2018-11-02T23:34:51Z hel-io quit (Ping timeout: 252 seconds) 2018-11-02T23:35:41Z eddof13 quit (Quit: eddof13) 2018-11-02T23:37:52Z robotoad joined #scheme 2018-11-02T23:38:47Z eddof13 joined #scheme 2018-11-02T23:40:24Z muelleme joined #scheme 2018-11-02T23:44:46Z muelleme quit (Ping timeout: 244 seconds) 2018-11-02T23:50:32Z zachk quit (Read error: Connection reset by peer) 2018-11-02T23:51:05Z zachk joined #scheme 2018-11-02T23:54:23Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-02T23:54:49Z hel-io_ quit (Remote host closed the connection) 2018-11-03T00:01:35Z zachk quit (Changing host) 2018-11-03T00:01:35Z zachk joined #scheme 2018-11-03T00:06:16Z amoe quit (Ping timeout: 260 seconds) 2018-11-03T00:06:54Z amoe joined #scheme 2018-11-03T00:07:10Z rudybot quit (Remote host closed the connection) 2018-11-03T00:07:44Z rudybot joined #scheme 2018-11-03T00:09:44Z zachk quit (Quit: Leaving) 2018-11-03T00:12:17Z eddof13 quit (Quit: eddof13) 2018-11-03T00:19:13Z TheGreekOwl quit (Ping timeout: 245 seconds) 2018-11-03T00:21:20Z eddof13 joined #scheme 2018-11-03T00:21:49Z eddof13 quit (Client Quit) 2018-11-03T00:37:36Z mejja quit (Quit: mejja) 2018-11-03T00:41:32Z siraben: What's the purpose of performing a CPS transformation twice? 2018-11-03T00:41:56Z siraben: Will Byrd said that it can give rise to every possible control structure at that point 2018-11-03T00:43:10Z ski: in the presence of delimited / composable / partial / sub- continuations, after "CPS transformation" we arrive at nqCPS (not-quite-CPS), so if we CPS transform once more, all calls are now tail calls 2018-11-03T00:43:38Z ski: (well, with multi-prompt ones, i assume we may need to iterate. but i'm not as familiar with those) 2018-11-03T00:44:03Z ski: link to where Byrd said that ? 2018-11-03T00:45:01Z siraben: His lecture "The Most Beautiful Program Ever Written" 2018-11-03T00:45:08Z ski once did a prototype implementation which used arbitrarily nested CPS layers .. 2018-11-03T00:46:05Z rain2: there's a hierearchy of integer indexed shift/reset operators based on iterated CPS 2018-11-03T00:46:20Z rain2: but the regular multi-prompt shift/reset is different to that 2018-11-03T00:47:18Z ski: yes (i was only talking about a single `shift'/`reset' layer, above) 2018-11-03T00:49:45Z ski: (.. the purpose of nesting CPS there was to be able to implement goal implication in logic programming, in a way that could export information, rather than just answer "yes/no". in particular, left-nesting required arbitrarily deep CPS nesting. this involved being able to backtrack backtracking, to backtrack backtracking backtracking, &c. and also to flip the interpretation of logic variables and atoms (skolems)) 2018-11-03T01:09:26Z allegorical left #scheme 2018-11-03T01:33:12Z emma quit (Ping timeout: 252 seconds) 2018-11-03T01:34:56Z emma joined #scheme 2018-11-03T01:34:56Z emma quit (Changing host) 2018-11-03T01:34:56Z emma joined #scheme 2018-11-03T02:04:28Z pie_ quit (Ping timeout: 268 seconds) 2018-11-03T02:19:16Z daviid quit (Ping timeout: 268 seconds) 2018-11-03T02:20:05Z robotoad quit (Quit: robotoad) 2018-11-03T02:29:27Z robotoad joined #scheme 2018-11-03T02:38:35Z dbmikus joined #scheme 2018-11-03T02:39:47Z dbmikus quit (Client Quit) 2018-11-03T02:40:10Z dbmikus joined #scheme 2018-11-03T02:43:36Z badkins quit (Remote host closed the connection) 2018-11-03T03:01:55Z dbmikus quit (Read error: Connection reset by peer) 2018-11-03T03:04:27Z Riastradh: Correction: I think they're both bounded by a little over 2eps. 2018-11-03T03:04:57Z Riastradh: 3eps 2018-11-03T03:07:14Z Riastradh: aeth: So, I don't know what kind of numerical stability the Alexandria comment was referring to. They're both backward-stable, in the sense that F(t; a, b) = f(t'; a', b') for (t', a', b') no more than O(eps) away from (t, a, b), though not necessarily each parameter individually, and they both have forward error bounded by O(eps) when ab >= 0. 2018-11-03T03:07:53Z dbmikus joined #scheme 2018-11-03T03:08:28Z iron_houzi10 joined #scheme 2018-11-03T03:09:01Z iron_houzi10 quit (Remote host closed the connection) 2018-11-03T03:15:15Z dbmikus quit (Quit: WeeChat 2.3) 2018-11-03T03:16:08Z dbmikus joined #scheme 2018-11-03T03:48:33Z pierpa quit (Quit: Page closed) 2018-11-03T04:24:08Z ubii__ joined #scheme 2018-11-03T04:26:36Z ubii_ quit (Ping timeout: 250 seconds) 2018-11-03T05:04:09Z dbmikus quit (Quit: WeeChat 1.9.1) 2018-11-03T05:16:09Z ubii__ is now known as ubii 2018-11-03T05:27:48Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-03T05:28:35Z ubii quit (Quit: Leaving) 2018-11-03T05:29:10Z yes joined #scheme 2018-11-03T05:43:23Z nly quit (Ping timeout: 268 seconds) 2018-11-03T05:49:29Z ggole joined #scheme 2018-11-03T05:53:36Z xkapastel joined #scheme 2018-11-03T06:35:48Z gwatt quit (Ping timeout: 276 seconds) 2018-11-03T06:36:04Z gwatt joined #scheme 2018-11-03T06:40:00Z klovett quit (Remote host closed the connection) 2018-11-03T06:40:43Z klovett joined #scheme 2018-11-03T06:41:00Z brettgilio joined #scheme 2018-11-03T06:42:36Z brettgilio quit (Remote host closed the connection) 2018-11-03T07:30:09Z klovett quit (Ping timeout: 252 seconds) 2018-11-03T08:00:12Z klovett joined #scheme 2018-11-03T08:06:04Z muelleme joined #scheme 2018-11-03T08:14:04Z TheGreekOwl joined #scheme 2018-11-03T08:21:22Z TheGreekOwl quit (Quit: I must go, my planet needs me.) 2018-11-03T08:21:28Z robotoad quit (Quit: robotoad) 2018-11-03T08:21:45Z TheGreekOwl joined #scheme 2018-11-03T09:06:34Z brendyn joined #scheme 2018-11-03T09:16:45Z muelleme quit (Ping timeout: 268 seconds) 2018-11-03T09:25:34Z muelleme joined #scheme 2018-11-03T09:40:11Z muelleme quit (Ping timeout: 268 seconds) 2018-11-03T09:47:48Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-03T09:59:58Z muelleme joined #scheme 2018-11-03T10:07:41Z muelleme quit (Ping timeout: 260 seconds) 2018-11-03T10:28:12Z skapata quit (Remote host closed the connection) 2018-11-03T11:01:23Z grettke joined #scheme 2018-11-03T11:11:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-03T11:25:33Z lritter joined #scheme 2018-11-03T11:41:40Z klovett joined #scheme 2018-11-03T12:08:18Z nly joined #scheme 2018-11-03T12:28:42Z acarrico quit (Ping timeout: 272 seconds) 2018-11-03T12:40:15Z razzy quit (Ping timeout: 268 seconds) 2018-11-03T12:40:47Z terpri_ quit (Quit: Leaving) 2018-11-03T12:43:20Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-03T13:02:30Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-03T13:16:41Z pjb quit (Remote host closed the connection) 2018-11-03T13:28:21Z razzy joined #scheme 2018-11-03T13:40:45Z xkapastel joined #scheme 2018-11-03T13:40:59Z civodul joined #scheme 2018-11-03T13:42:28Z nly quit (Read error: Connection reset by peer) 2018-11-03T13:54:57Z nly joined #scheme 2018-11-03T13:57:33Z jonaslund quit (Ping timeout: 245 seconds) 2018-11-03T14:04:43Z grettke joined #scheme 2018-11-03T14:26:06Z klovett quit (Remote host closed the connection) 2018-11-03T14:26:21Z klovett joined #scheme 2018-11-03T14:30:41Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-03T14:34:05Z grettke joined #scheme 2018-11-03T14:39:40Z nly quit (Read error: Connection reset by peer) 2018-11-03T14:45:38Z pjb joined #scheme 2018-11-03T14:45:48Z Zaab1t joined #scheme 2018-11-03T14:46:20Z hel-io joined #scheme 2018-11-03T14:46:26Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-03T14:56:29Z hel-io_ joined #scheme 2018-11-03T14:59:58Z hel-io quit (Ping timeout: 252 seconds) 2018-11-03T15:12:46Z muelleme joined #scheme 2018-11-03T15:27:36Z hel-io_ quit (Remote host closed the connection) 2018-11-03T15:40:21Z jao joined #scheme 2018-11-03T15:41:34Z hel-io joined #scheme 2018-11-03T15:44:13Z muelleme quit (Ping timeout: 244 seconds) 2018-11-03T15:48:12Z jao quit (Remote host closed the connection) 2018-11-03T16:04:55Z hel-io_ joined #scheme 2018-11-03T16:06:14Z bars0 joined #scheme 2018-11-03T16:07:27Z hel-io quit (Ping timeout: 268 seconds) 2018-11-03T16:09:02Z alezost joined #scheme 2018-11-03T16:09:59Z elderK joined #scheme 2018-11-03T16:10:07Z acarrico joined #scheme 2018-11-03T16:11:07Z bars0 quit (Client Quit) 2018-11-03T16:12:27Z Zenton quit (Ping timeout: 240 seconds) 2018-11-03T16:17:14Z Zenton joined #scheme 2018-11-03T16:18:04Z hel-io joined #scheme 2018-11-03T16:20:16Z hel-io_ quit (Ping timeout: 252 seconds) 2018-11-03T16:25:02Z acarrico quit (Ping timeout: 244 seconds) 2018-11-03T16:25:08Z Inline quit (Read error: Connection reset by peer) 2018-11-03T16:25:41Z xfoob joined #scheme 2018-11-03T16:25:48Z Inline joined #scheme 2018-11-03T16:32:09Z Inline quit (Quit: Leaving) 2018-11-03T16:32:14Z xfoob` joined #scheme 2018-11-03T16:32:40Z xfoob` quit (Client Quit) 2018-11-03T16:40:49Z xfoob quit (Remote host closed the connection) 2018-11-03T16:52:20Z Inline joined #scheme 2018-11-03T16:53:20Z Inline quit (Read error: Connection reset by peer) 2018-11-03T16:53:49Z Inline joined #scheme 2018-11-03T16:58:38Z Inline quit (Read error: Connection reset by peer) 2018-11-03T17:03:21Z hel-io quit (Remote host closed the connection) 2018-11-03T17:26:04Z nly joined #scheme 2018-11-03T17:27:10Z hel-io joined #scheme 2018-11-03T17:36:51Z Inline joined #scheme 2018-11-03T17:39:47Z robotoad joined #scheme 2018-11-03T18:02:31Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-03T18:08:46Z amz3 joined #scheme 2018-11-03T18:09:34Z nly quit (Quit: Quit) 2018-11-03T18:11:13Z skapata joined #scheme 2018-11-03T18:12:28Z hel-io quit (Remote host closed the connection) 2018-11-03T18:12:40Z hel-io joined #scheme 2018-11-03T18:13:15Z hel-io quit (Read error: Connection reset by peer) 2018-11-03T18:13:50Z amz3 quit (Changing host) 2018-11-03T18:13:50Z amz3 joined #scheme 2018-11-03T18:20:39Z grettke joined #scheme 2018-11-03T18:22:04Z ggole quit (Quit: ggole) 2018-11-03T18:33:27Z lavaflow quit (Ping timeout: 252 seconds) 2018-11-03T19:03:25Z yes: hi, i tried to access one of the links in the topic and i get 403 forbidden. http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ 2018-11-03T19:04:50Z Zipheir: yes: Yes. 2018-11-03T19:04:58Z yes: seems likeit redireted to http://groups.csail.mit.edu/macclasses/6.001/abelson-sussman-lectures/ 2018-11-03T19:05:01Z Zipheir: yes: The topic is badly in need of updating. 2018-11-03T19:05:16Z yes: which is forbidden. ok, well, at least you guys know about it. 2018-11-03T19:06:08Z nly joined #scheme 2018-11-03T19:06:11Z Zipheir: I keep complaining about it, but I'm not even sure who has op bits to fix it... 2018-11-03T19:30:13Z daviid joined #scheme 2018-11-03T19:46:21Z hel-io joined #scheme 2018-11-03T19:46:59Z hel-io_ joined #scheme 2018-11-03T19:50:03Z yes: well i'm glad to know that it's not just *me* who is forbidden ;) 2018-11-03T19:50:28Z hel-io quit (Ping timeout: 245 seconds) 2018-11-03T19:54:03Z hel-io joined #scheme 2018-11-03T19:57:31Z hel-io_ quit (Ping timeout: 252 seconds) 2018-11-03T20:01:10Z jonaslund joined #scheme 2018-11-03T20:07:26Z hel-io_ joined #scheme 2018-11-03T20:10:15Z hel-io quit (Ping timeout: 252 seconds) 2018-11-03T20:11:45Z alexshendi joined #scheme 2018-11-03T20:12:52Z lavaflow joined #scheme 2018-11-03T20:14:43Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-03T20:16:35Z hel-io joined #scheme 2018-11-03T20:20:09Z hel-io_ quit (Ping timeout: 252 seconds) 2018-11-03T20:23:00Z zachk joined #scheme 2018-11-03T20:26:13Z khisanth_ joined #scheme 2018-11-03T20:26:22Z nly quit (Quit: Quit) 2018-11-03T20:26:47Z jonaslund_ joined #scheme 2018-11-03T20:27:55Z jonaslund quit (Ping timeout: 246 seconds) 2018-11-03T20:28:36Z hel-io_ joined #scheme 2018-11-03T20:30:09Z Guest13389 quit (Ping timeout: 268 seconds) 2018-11-03T20:31:13Z ChanServ has set mode +o Riastradh 2018-11-03T20:31:25Z Riastradh changed the topic of #scheme to: (map surf-to '("http://paste.lisp.org/new/scheme" "http://ccl.clozure.com/irc-logs/scheme/" "http://schemers.org/" "http://community.schemewiki.org/" "http://library.readscheme.org/" "http://mitpress.mit.edu/sicp/" "https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/" "http://www.htdp.org/" "http://www.scheme.com/tspl4/")) 2018-11-03T20:31:33Z Riastradh has set mode -o Riastradh 2018-11-03T20:32:10Z hel-io quit (Ping timeout: 252 seconds) 2018-11-03T20:32:14Z Riastradh: Lemme know if anything else needs updating in the topic. 2018-11-03T20:46:40Z muelleme joined #scheme 2018-11-03T20:48:08Z groovy2shoes quit (Excess Flood) 2018-11-03T20:48:10Z ngz joined #scheme 2018-11-03T20:48:29Z groovy2shoes joined #scheme 2018-11-03T20:50:56Z yes: cool, thanks, so it was just about ssl, eh? 2018-11-03T20:51:22Z yes: oh i see the path changed too 2018-11-03T20:51:53Z keep_learning quit (Quit: Ping timeout (120 seconds)) 2018-11-03T20:52:28Z Zipheir: Riastradh: ty! http://paste.lisp.org/new/scheme has been disabled, so maybe a good idea to get rid of that one. 2018-11-03T20:52:39Z Riastradh: Suggested replacement? 2018-11-03T20:53:05Z ChanServ has set mode +o Riastradh 2018-11-03T20:53:35Z Riastradh changed the topic of #scheme to: (map surf-to '("http://ccl.clozure.com/irc-logs/scheme/" "http://schemers.org/" "http://community.schemewiki.org/" "http://library.readscheme.org/" "http://mitpress.mit.edu/sicp/" "https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/" "http://www.htdp.org/" "http://www.scheme.com/tspl4/")) 2018-11-03T20:54:00Z Zipheir: Anything. I personally dislike that Gist requires an account, otherwise whatever. 2018-11-03T20:54:16Z Riastradh changed the topic of #scheme to: (map surf-to '("http://ccl.clozure.com/irc-logs/scheme/" "http://schemers.org/" "http://community.schemewiki.org/" "http://library.readscheme.org/" "http://mitpress.mit.edu/sicp/" "https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/" "http://www.htdp.org/" "http://www.scheme.com/tspl4/" "https://paste.asie.pl")) 2018-11-03T20:54:32Z Zipheir: http://paste.call-cc.org/ maybe? 2018-11-03T20:56:28Z Riastradh changed the topic of #scheme to: (map surf-to '("http://ccl.clozure.com/irc-logs/scheme/" "http://schemers.org/" "http://community.schemewiki.org/" "http://library.readscheme.org/" "http://mitpress.mit.edu/sicp/" "https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/" "http://www.htdp.org/" "http://www.scheme.com/tspl4/" "https://paste.call-cc.org")) 2018-11-03T20:58:33Z alexshendi: That will send the URL to #chicken... 2018-11-03T20:58:52Z Riastradh: Well, tell me what to use! 2018-11-03T20:59:11Z civodul .oO( that should really be for-each ) 2018-11-03T20:59:14Z Riastradh: All I ask is that it be friendly to Tor users (which some popular ones like pastebin are not), and preferably have no advertisements. 2018-11-03T20:59:30Z Riastradh: (and, y'know, no other malware, &c.) 2018-11-03T20:59:58Z Riastradh: civodul: What, so you don't return your reaction to the channel for discussion? 2018-11-03T21:00:09Z grettke joined #scheme 2018-11-03T21:00:20Z civodul: good point :-) 2018-11-03T21:00:52Z civodul: then again, maybe it should be called 'grab' rather than 'surf-to' ;-) 2018-11-03T21:01:09Z Zipheir: alexshendi: Indeed, don't post anything to paste.call-cc.org that you wouldn't want the #chicken folks to see :) 2018-11-03T21:01:28Z Riastradh: Well, I think the topic probably goes back twenty years to when `surfing' was still a cool term for browsing the web. 2018-11-03T21:01:33Z Riastradh: (Can confirm it goes back fifteen years.) 2018-11-03T21:02:04Z Zipheir: I'd suggest the lpaste.net pastebin, but it seems to have died. 2018-11-03T21:02:27Z Zipheir: Goddamnit Gist, becoming the only game in town. 2018-11-03T21:04:13Z hel-io_ quit (Remote host closed the connection) 2018-11-03T21:05:16Z Zipheir: Riastradh: Thanks again for performing topic maintenance :) 2018-11-03T21:10:40Z yes: there was a pastebin on debian.org 2018-11-03T21:11:01Z yes: but does this need to have a scheme parser built in or something? 2018-11-03T21:11:01Z jcob joined #scheme 2018-11-03T21:11:51Z yes: i'm a total noob, #chicken is another lisp? 2018-11-03T21:12:04Z Riastradh: Chicken is a Scheme implementation. 2018-11-03T21:12:13Z yes: aha 2018-11-03T21:15:02Z wasamasa: Riastradh: it's just confusing because pastes there spawn a notification on #chicken 2018-11-03T21:15:47Z Riastradh: OK, paste.debian.net let me paste through Tor. 2018-11-03T21:15:56Z Riastradh changed the topic of #scheme to: (map surf-to '("http://ccl.clozure.com/irc-logs/scheme/" "http://schemers.org/" "http://community.schemewiki.org/" "http://library.readscheme.org/" "http://mitpress.mit.edu/sicp/" "https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/" "http://www.htdp.org/" "http://www.scheme.com/tspl4/" "https://paste.debian.net")) 2018-11-03T21:16:36Z Riastradh: Folks want a different one, let me know. 2018-11-03T21:21:11Z Riastradh has set mode -o Riastradh 2018-11-03T21:21:59Z Zipheir: Yes, paste.debian.net is a good one. 2018-11-03T21:29:21Z lritter quit (Quit: Leaving) 2018-11-03T21:31:39Z ngz quit (Ping timeout: 252 seconds) 2018-11-03T21:39:11Z grettke quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2018-11-03T21:47:29Z grettke joined #scheme 2018-11-03T21:54:33Z jao joined #scheme 2018-11-03T21:57:13Z flerovite quit (Remote host closed the connection) 2018-11-03T21:57:34Z flerovite joined #scheme 2018-11-03T22:12:15Z zachk quit (Changing host) 2018-11-03T22:12:16Z zachk joined #scheme 2018-11-03T22:14:49Z jao quit (Ping timeout: 244 seconds) 2018-11-03T22:20:16Z khisanth_ quit (Ping timeout: 246 seconds) 2018-11-03T22:33:41Z khisanth_ joined #scheme 2018-11-03T22:40:23Z Zaab1t quit (Quit: bye bye friends) 2018-11-03T22:48:02Z turbofail joined #scheme 2018-11-03T22:55:23Z acarrico joined #scheme 2018-11-03T22:56:33Z razzy` joined #scheme 2018-11-03T22:57:44Z teardown quit (Read error: Connection reset by peer) 2018-11-03T22:58:08Z teardown joined #scheme 2018-11-03T23:00:35Z jcowan joined #scheme 2018-11-03T23:00:45Z razzy quit (Ping timeout: 252 seconds) 2018-11-03T23:06:15Z muelleme quit (Ping timeout: 252 seconds) 2018-11-03T23:15:52Z jcob quit (Ping timeout: 250 seconds) 2018-11-03T23:21:47Z jonaslund_ quit (Ping timeout: 240 seconds) 2018-11-03T23:22:35Z bars0 joined #scheme 2018-11-03T23:25:11Z badkins joined #scheme 2018-11-03T23:27:39Z razzy` quit (Remote host closed the connection) 2018-11-03T23:27:56Z razzy` joined #scheme 2018-11-03T23:37:34Z klovett_ joined #scheme 2018-11-03T23:39:05Z klovett__ joined #scheme 2018-11-03T23:40:28Z khisanth_ quit (Ping timeout: 245 seconds) 2018-11-03T23:40:54Z klovett quit (Ping timeout: 252 seconds) 2018-11-03T23:43:12Z klovett_ quit (Ping timeout: 272 seconds) 2018-11-03T23:44:29Z bars0 quit (Quit: leaving) 2018-11-03T23:47:52Z zachk quit (Quit: Leaving) 2018-11-03T23:52:28Z alexshendi quit (Ping timeout: 244 seconds) 2018-11-03T23:57:11Z razzy`` joined #scheme 2018-11-03T23:59:03Z razzy` quit (Ping timeout: 252 seconds) 2018-11-04T00:00:56Z acarrico quit (Ping timeout: 272 seconds) 2018-11-04T00:02:03Z muelleme joined #scheme 2018-11-04T00:03:08Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-04T00:06:12Z khisanth_ joined #scheme 2018-11-04T00:08:27Z muelleme quit (Ping timeout: 268 seconds) 2018-11-04T00:14:27Z Zenton quit (Ping timeout: 252 seconds) 2018-11-04T00:21:53Z Zenton joined #scheme 2018-11-04T00:32:38Z benbit_ joined #scheme 2018-11-04T00:33:17Z klovett joined #scheme 2018-11-04T00:34:19Z benbit quit (Ping timeout: 246 seconds) 2018-11-04T00:35:18Z benbit_ quit (Client Quit) 2018-11-04T00:37:02Z klovett__ quit (Ping timeout: 272 seconds) 2018-11-04T00:55:16Z acarrico joined #scheme 2018-11-04T00:59:48Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-04T01:23:34Z skapata quit (Remote host closed the connection) 2018-11-04T01:23:53Z skapata joined #scheme 2018-11-04T01:49:01Z siraben: +1 for paste.debian.net 2018-11-04T02:01:46Z AhoChan joined #scheme 2018-11-04T02:04:49Z robotoad quit (Quit: robotoad) 2018-11-04T02:06:09Z AhoChan: anyone know what a "peculiar identifier" is? 2018-11-04T02:06:37Z AhoChan: from 7.1 of rnrs 2018-11-04T02:06:59Z AhoChan: it's in 4 5 6 7, and none of them seem to actually tell you what a peculiar identifier is 2018-11-04T02:07:05Z AhoChan: i only know it's peculiar o.o 2018-11-04T02:07:45Z TheGreekOwl quit (Ping timeout: 252 seconds) 2018-11-04T02:11:17Z Riastradh: AhoChan: + - ... 2018-11-04T02:11:25Z Riastradh: (It is defined a little below.) 2018-11-04T02:11:35Z AhoChan: as in 2018-11-04T02:11:39Z AhoChan: what is it really 2018-11-04T02:11:48Z Riastradh: That's literally it. Those three identifiers. 2018-11-04T02:12:08Z Riastradh: Plus, minus, and dotdotdot. 2018-11-04T02:12:22Z AhoChan: i don't mean what counts as a peculiar identifier, i mean what does it mean 2018-11-04T02:12:29Z Riastradh: rudybot: eval (+ 1 2) 2018-11-04T02:12:30Z rudybot: Riastradh: ; Value: 3 2018-11-04T02:12:35Z Riastradh: rudybot: eval (- 1 2) 2018-11-04T02:12:36Z rudybot: Riastradh: ; Value: -1 2018-11-04T02:13:23Z Riastradh: rudybot: eval (let-syntax ((tel (syntax-rules () ((tel ((e v) ...) b0 b1+ ...) (let ((v e) ...) b0 b1+ ...))))) (tel ((5 x) (3 y)) (list x y))) 2018-11-04T02:13:30Z rudybot: Riastradh: ; Value: (mcons 5 (mcons 3 '())) 2018-11-04T02:15:03Z AhoChan: hmm maybe a different angle 2018-11-04T02:15:24Z AhoChan: i know how to parse anything you give me and if you give me + i'll know it's a peculiar identifier 2018-11-04T02:15:31Z AhoChan: but why is it peculiar 2018-11-04T02:15:44Z Riastradh: It doesn't match the syntax for all other identifiers. 2018-11-04T02:16:15Z Riastradh: Nothing else can start with a `+' or `-' or `.'. 2018-11-04T02:16:19Z AhoChan: peculiar identifier probably isn't an established term either, couldn't find anything on google 2018-11-04T02:16:28Z Riastradh: It's just an identifier, that's peculiar. 2018-11-04T02:16:35Z AhoChan: ah it's just an identifier 2018-11-04T02:16:47Z Riastradh: I think maybe you're reading more into it than there is there! 2018-11-04T02:17:00Z robotoad joined #scheme 2018-11-04T02:17:06Z AhoChan: probably 2018-11-04T02:17:15Z AhoChan: it was really just quite peculiar 2018-11-04T02:17:16Z AhoChan: :) 2018-11-04T02:17:45Z AhoChan: thanks 2018-11-04T02:20:21Z klovett_ joined #scheme 2018-11-04T02:23:23Z klovett quit (Ping timeout: 245 seconds) 2018-11-04T02:28:48Z Zipheir: "It's just an identifier!!!" Reminds me of https://en.wikipedia.org/wiki/Eric_and_the_Dread_Gazebo 2018-11-04T02:30:34Z grettke quit (Quit: Textual IRC Client: www.textualapp.com) 2018-11-04T03:00:20Z siraben: Is it possible to have a symbol called (+ 2 3) in Scheme? 2018-11-04T03:00:44Z siraben: Was reading the Emacs Lisp reference manual and it came up 2018-11-04T03:01:56Z Riastradh: '|(+ 2 3)| 2018-11-04T03:02:57Z siraben: Hm guile doesn't seem to like it 2018-11-04T03:03:26Z siraben: CHICKEN accepts it though. 2018-11-04T03:04:03Z siraben: (define |(+ 2 5)| 5), |(+ 2 3)| => 5 2018-11-04T03:04:13Z siraben: Oops I mean |(+ 2 5)| => 5 2018-11-04T03:04:48Z siraben: rudybot: '| hi I'm a symbol | 2018-11-04T03:04:54Z siraben: rudybot: eval '| hi I'm a symbol | 2018-11-04T03:05:09Z rudybot: siraben: Hi. I'm just trying company-mode. Since there are all backends active by default, I get tons of stupid completions. Is there a way to make it show only those completions that you'd also get with M-TAB (complete-symbol)? In many programming modes, those completion-at-point-functions already know the valid completions... 2018-11-04T03:05:19Z rudybot: siraben: error: with-limit: out of time 2018-11-04T03:13:51Z badkins quit (Remote host closed the connection) 2018-11-04T03:13:51Z on_ion: siraben: (quote (+ 2 3)) 2018-11-04T03:14:43Z siraben: But '(+ 2 3) is not the same as the symbol |(+ 2 3)| 2018-11-04T03:15:26Z siraben: In other words, (symbol? '|(+ 2 3)|) is true. 2018-11-04T03:15:43Z siraben: Whereas (symbol? '(+ 2 3)) is not. 2018-11-04T03:15:59Z jcowan: siraben: In R6RS systems like Guile, you have to specify non-alphabetic characters with Unicode escapes rather than vertical bar wrappers 2018-11-04T03:16:18Z siraben: Chicken is R7RS? 2018-11-04T03:16:36Z jcowan: It's R5RS-plus, and happens to support vertical bars. 2018-11-04T03:16:37Z siraben: Is that why | works? 2018-11-04T03:16:42Z siraben: Oh I see. 2018-11-04T03:19:07Z on_ion: https://www.gnu.org/software/guile/manual/html_node/Symbol-Read-Syntax.html#Symbol-Read-Syntax <- may need to enable it. 2018-11-04T03:19:22Z on_ion: "r7rs-symbols read option" 2018-11-04T03:20:22Z on_ion: (read-enable #:r7rs-symbols) 2018-11-04T03:20:52Z on_ion: i dont know the syntax. 2018-11-04T03:22:02Z on_ion: it works for me in guile now, siraben , '|(+ 2 3)| or #{(+ 2 3)}# 2018-11-04T03:24:11Z siraben: I'm guessing that using such symbols is discouraged, right? 2018-11-04T03:24:15Z siraben: Thanks on_ion , it works now. 2018-11-04T03:24:43Z on_ion: ok 2018-11-04T03:33:45Z jcowan: Oh, nice 2018-11-04T03:34:20Z jcowan: Chicken now has an R7RS mode, and even in native mode, Chicken 5 (about to be in general release) is closer to R7RS than Chicken 4 is. 2018-11-04T03:35:03Z jcowan: Someone once said that the most important achievement of R6RS was to persuade Chicken to adopt its module system, and since that is very close to the R7RS module system, Chicken has been deeply entangled with R7RS since the beginning. 2018-11-04T03:35:26Z jcowan: (The fact that it's my favorite Scheme doesn't hurt, though I am now using Chibi and Guile as well.) 2018-11-04T03:44:47Z brendyn quit (Ping timeout: 240 seconds) 2018-11-04T03:50:30Z pjb quit (Ping timeout: 252 seconds) 2018-11-04T03:54:19Z on_ion: yay gulie 2018-11-04T03:54:23Z on_ion: **guile. 2018-11-04T04:20:50Z klovett_ quit (Remote host closed the connection) 2018-11-04T04:21:33Z klovett joined #scheme 2018-11-04T04:25:48Z klovett quit (Ping timeout: 252 seconds) 2018-11-04T04:49:42Z elderK quit (Quit: Connection closed for inactivity) 2018-11-04T04:59:59Z klovett joined #scheme 2018-11-04T05:25:13Z jim quit (Remote host closed the connection) 2018-11-04T05:26:01Z jim joined #scheme 2018-11-04T05:26:51Z khisanth_ quit (Ping timeout: 252 seconds) 2018-11-04T05:27:18Z khisanth_ joined #scheme 2018-11-04T05:28:36Z yes quit (Remote host closed the connection) 2018-11-04T05:28:57Z yes joined #scheme 2018-11-04T05:43:31Z ggole joined #scheme 2018-11-04T06:16:12Z jao joined #scheme 2018-11-04T06:30:44Z jim quit (Remote host closed the connection) 2018-11-04T06:31:19Z jim joined #scheme 2018-11-04T06:56:40Z pierpal joined #scheme 2018-11-04T06:58:07Z klovett quit (Remote host closed the connection) 2018-11-04T06:58:25Z klovett joined #scheme 2018-11-04T07:02:42Z xkapastel joined #scheme 2018-11-04T07:19:28Z muelleme joined #scheme 2018-11-04T07:24:13Z muelleme quit (Ping timeout: 245 seconds) 2018-11-04T08:25:03Z jao quit (Ping timeout: 252 seconds) 2018-11-04T08:26:37Z vyzo quit (Quit: Leaving.) 2018-11-04T08:30:25Z daviid quit (Ping timeout: 268 seconds) 2018-11-04T09:06:09Z robotoad quit (Quit: robotoad) 2018-11-04T09:09:30Z klovett quit (Read error: Connection reset by peer) 2018-11-04T09:18:06Z pierpal quit (Read error: Connection reset by peer) 2018-11-04T09:25:35Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-04T09:52:43Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-04T09:56:47Z InverseRhombus quit (Ping timeout: 240 seconds) 2018-11-04T10:14:25Z InverseRhombus joined #scheme 2018-11-04T10:15:02Z InverseRhombus quit (Remote host closed the connection) 2018-11-04T10:17:40Z Zaab1t joined #scheme 2018-11-04T10:38:13Z jonaslund joined #scheme 2018-11-04T10:56:00Z klovett joined #scheme 2018-11-04T11:03:06Z jonaslund quit (Ping timeout: 244 seconds) 2018-11-04T11:03:19Z yes quit (Remote host closed the connection) 2018-11-04T11:03:34Z yes joined #scheme 2018-11-04T11:10:57Z pjb joined #scheme 2018-11-04T11:55:29Z jao joined #scheme 2018-11-04T12:00:15Z jonaslund joined #scheme 2018-11-04T12:00:51Z siiky joined #scheme 2018-11-04T12:29:43Z Silky joined #scheme 2018-11-04T12:32:01Z siiky quit (Ping timeout: 260 seconds) 2018-11-04T12:34:37Z jcowan joined #scheme 2018-11-04T12:44:28Z jim quit (Remote host closed the connection) 2018-11-04T12:45:02Z jim joined #scheme 2018-11-04T12:45:11Z xkapastel joined #scheme 2018-11-04T12:55:22Z klovett quit (Remote host closed the connection) 2018-11-04T12:56:02Z klovett joined #scheme 2018-11-04T13:01:50Z jonaslund quit (Ping timeout: 272 seconds) 2018-11-04T13:04:25Z TheGreekOwl joined #scheme 2018-11-04T13:07:51Z siiky joined #scheme 2018-11-04T13:09:30Z razzy`` quit (Remote host closed the connection) 2018-11-04T13:09:47Z razzy`` joined #scheme 2018-11-04T13:10:31Z Silky quit (Ping timeout: 260 seconds) 2018-11-04T13:29:35Z siiky quit (Quit: Leaving) 2018-11-04T13:30:52Z pierpal joined #scheme 2018-11-04T13:56:00Z jonaslund joined #scheme 2018-11-04T14:17:36Z razzy`` quit (Ping timeout: 268 seconds) 2018-11-04T14:23:03Z skapata quit (Remote host closed the connection) 2018-11-04T14:31:32Z klovett quit (Remote host closed the connection) 2018-11-04T14:31:48Z klovett joined #scheme 2018-11-04T14:36:48Z razzy joined #scheme 2018-11-04T14:53:37Z nly joined #scheme 2018-11-04T15:05:29Z muelleme joined #scheme 2018-11-04T15:10:38Z muelleme quit (Ping timeout: 268 seconds) 2018-11-04T15:12:29Z jao quit (Ping timeout: 268 seconds) 2018-11-04T15:26:47Z niklasl quit (Ping timeout: 240 seconds) 2018-11-04T15:27:38Z niklasl joined #scheme 2018-11-04T15:29:48Z pierpal quit (Quit: Poof) 2018-11-04T15:30:07Z pierpal joined #scheme 2018-11-04T15:35:06Z ecraven: jcowan: which is the most dynamic of the major Schemes? the one that lets you inspect and modify bindings inside packages at runtime, things like that? 2018-11-04T15:38:35Z wasamasa: rudybot: scheme, scheme on the wall, which is the most dynamic of them all 2018-11-04T15:38:59Z rudybot: wasamasa: Well, there's a strong technical argument for dynamic linking, around patch management, but it is really only compelling in a world where there's a ops/dev "wall" 2018-11-04T15:41:40Z jcowan: Good question, but I have no real idea of the answer. If I had to guess, I'd guess either MIT (because it's old) or Racket (because it has all those debugging facilities, which must have hooks somewhere). 2018-11-04T15:49:27Z razzy quit (Ping timeout: 252 seconds) 2018-11-04T15:57:26Z razzy joined #scheme 2018-11-04T16:13:19Z gwatt: ecraven: as far as r6rs is concerned, you cannot modify exported bindings. 2018-11-04T16:13:45Z ecraven: I know, but I'm actually more interested in a Scheme in the spirit of CL, where you can modify a running program quite a lot 2018-11-04T16:14:05Z ecraven: (not saying it's better, I just like that approach more for evolutionary development) 2018-11-04T16:35:19Z jcowan: Well, up to a point. In general, the CL ANS does not require that implementations recognize run-time function redefinitions with (setf symbol-function) or eval, because these may have been inlined. 2018-11-04T16:35:43Z ecraven: hm.. how does slime do this then? 2018-11-04T16:35:52Z ecraven: or do the usual implementations just not do this? 2018-11-04T16:37:22Z Riastradh: `try it and hope it works', probably. 2018-11-04T16:37:54Z wasamasa: hope-driven development 2018-11-04T17:07:00Z civodul joined #scheme 2018-11-04T17:22:26Z elderK joined #scheme 2018-11-04T17:25:08Z InverseRhombus joined #scheme 2018-11-04T17:41:08Z ggole: CL has pretty clear rules about when the compiler has to support redefinition 2018-11-04T18:02:24Z muelleme joined #scheme 2018-11-04T18:07:37Z muelleme quit (Ping timeout: 268 seconds) 2018-11-04T18:13:20Z TGO joined #scheme 2018-11-04T18:15:47Z TheGreekOwl quit (Ping timeout: 240 seconds) 2018-11-04T18:31:09Z TGO quit (Quit: I must go, my planet needs me.) 2018-11-04T18:31:12Z robotoad joined #scheme 2018-11-04T18:31:31Z TheGreekOwl joined #scheme 2018-11-04T18:44:49Z razzy quit (Ping timeout: 252 seconds) 2018-11-04T18:45:06Z InverseRhombus quit (Ping timeout: 272 seconds) 2018-11-04T18:47:34Z robotoad quit (Quit: robotoad) 2018-11-04T18:52:57Z robotoad joined #scheme 2018-11-04T18:55:08Z vyzo joined #scheme 2018-11-04T19:32:22Z Zaab1t quit (Quit: bye bye friends) 2018-11-04T19:33:20Z jao joined #scheme 2018-11-04T19:34:30Z nly quit (Ping timeout: 272 seconds) 2018-11-04T19:53:52Z jao quit (Disconnected by services) 2018-11-04T19:54:33Z jao joined #scheme 2018-11-04T20:01:41Z ggole quit (Quit: ggole) 2018-11-04T20:02:05Z InverseRhombus joined #scheme 2018-11-04T20:05:41Z charh quit (Remote host closed the connection) 2018-11-04T20:11:28Z r0kc4t quit (Remote host closed the connection) 2018-11-04T20:14:34Z daviid joined #scheme 2018-11-04T21:05:47Z muelleme joined #scheme 2018-11-04T21:11:11Z nly joined #scheme 2018-11-04T21:11:11Z nly quit (Client Quit) 2018-11-04T22:05:25Z hel-io joined #scheme 2018-11-04T22:13:06Z mange joined #scheme 2018-11-04T22:23:57Z dbmikus joined #scheme 2018-11-04T22:26:53Z hel-io quit (Remote host closed the connection) 2018-11-04T22:27:06Z marusich joined #scheme 2018-11-04T22:27:27Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-04T22:30:59Z Zipheir: If I want to define functions in terms of passing magic values to a dispatching procedure, is there anyway to avoid the abstraction leak of defining those magic values at top-level? 2018-11-04T22:31:42Z wasamasa: do it the JS way 2018-11-04T22:32:03Z muelleme quit (Ping timeout: 252 seconds) 2018-11-04T22:32:16Z Zipheir: So if (foo-op structure) evaluates (structure $magic-cookie), how do you write that without making $magic-cookie available to everything? 2018-11-04T22:32:48Z wasamasa: you wrap a let containing those values around the code needing to access it 2018-11-04T22:34:11Z Zipheir: Well, yes. But... 2018-11-04T22:34:31Z wasamasa: what? 2018-11-04T22:34:40Z Zipheir: One sec 2018-11-04T22:35:01Z wasamasa: put that let over lambda 2018-11-04T22:36:43Z marusich quit (Ping timeout: 245 seconds) 2018-11-04T22:37:16Z Zipheir: OK, example: (define (make-foo x) (let ((x-cookie (string-copy "magic")) (val x)) (lambda (msg) (cond ((eqv? msg x-cookie) x) ...)))) 2018-11-04T22:38:02Z Zipheir: If I'm going to define a foo-x proc that evaluates ( x-cookie), obviously it has to be defined within that let. 2018-11-04T22:38:25Z Zipheir: So what--return multiple functions when make-foo is called? 2018-11-04T22:39:44Z wasamasa: you could do that 2018-11-04T22:40:01Z wasamasa: or define the names to #f, then assign the actual functions later 2018-11-04T22:40:25Z Zipheir: That's an idea. 2018-11-04T22:44:30Z Zipheir: Thanks, wasamasa. I'll see how that works. 2018-11-04T22:44:57Z marusich joined #scheme 2018-11-04T22:50:12Z jao quit (Ping timeout: 272 seconds) 2018-11-04T22:54:09Z InverseRhombus joined #scheme 2018-11-04T22:55:30Z Zipheir: Oops, that cond line should have been ((eqv? msg x-cookie) val) 2018-11-04T22:59:13Z hel-io joined #scheme 2018-11-04T22:59:33Z aeth: Zipheir: I'd absolutely go the multiple value route 2018-11-04T22:59:42Z aeth: Alternatively, return a record 2018-11-04T23:06:09Z hel-io quit (Ping timeout: 252 seconds) 2018-11-04T23:09:19Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-04T23:10:27Z Zipheir: aeth: You'd need some defines eventually, though, unless you wanted to pass around the returned procedures. Might get gross. 2018-11-04T23:12:22Z dan64 quit (Quit: ZNC - http://znc.in) 2018-11-04T23:13:26Z siraben: Zipheir: How about using internal defines and returning a dispatching procedure? 2018-11-04T23:13:38Z dan64 joined #scheme 2018-11-04T23:13:47Z siraben: Ah yes that's what you did over there. 2018-11-04T23:14:06Z Zipheir: siraben: Yup, that's not the problem. The problem is making magic values semi-private. :) 2018-11-04T23:14:23Z siraben: How so? 2018-11-04T23:14:37Z siraben: What do you mean by semi private? 2018-11-04T23:15:43Z Zipheir: Say you want to dispatch on certain magic values that are guaranteed to not be eqv? to user values. But you also don't want the abstraction to leak. 2018-11-04T23:17:23Z Zipheir: So (define $my-magic-cookie ...) won't cut it. You've got to be able to pass the magic value to the dispatching procedure, but the procedures that pass it should be opaque. 2018-11-04T23:17:46Z marusich quit (Ping timeout: 260 seconds) 2018-11-04T23:20:08Z Zipheir: It's actually an interesting scope question, imho. 2018-11-04T23:25:35Z Zipheir: Err, of course the procedures will be opaque. The values they pass shouldn't be accessible, I mean. 2018-11-04T23:32:33Z Zipheir: The idea comes from messing around with jcowan's idea for applicable records, e.g. you might have a record type foo where (foo-x ) was implemented as ( magic-cookie). 2018-11-04T23:35:15Z marusich joined #scheme 2018-11-04T23:37:26Z siraben: I see. 2018-11-05T00:05:05Z hel-io joined #scheme 2018-11-05T00:06:58Z muelleme joined #scheme 2018-11-05T00:13:05Z muelleme quit (Ping timeout: 244 seconds) 2018-11-05T00:13:07Z hel-io_ joined #scheme 2018-11-05T00:15:24Z robotoad quit (Quit: robotoad) 2018-11-05T00:16:10Z hel-io__ joined #scheme 2018-11-05T00:16:42Z hel-io quit (Ping timeout: 264 seconds) 2018-11-05T00:17:39Z hel-io joined #scheme 2018-11-05T00:20:18Z hel-io_ quit (Ping timeout: 264 seconds) 2018-11-05T00:20:57Z hel-io__ quit (Ping timeout: 252 seconds) 2018-11-05T00:25:15Z hel-io quit (Ping timeout: 252 seconds) 2018-11-05T00:26:01Z f8l quit (Remote host closed the connection) 2018-11-05T00:27:23Z f8l joined #scheme 2018-11-05T00:28:49Z jcowan: Actually it would be (define (get-slot1 obj) '(obj slot-1)) 2018-11-05T00:28:53Z jcowan: oops 2018-11-05T00:29:17Z jcowan: (define slot1-get '(slot-1)) 2018-11-05T00:29:33Z jcowan: (define (get-slot1 obj) (obj slot1-get)) 2018-11-05T00:29:47Z jcowan: and expose get-slot1 but not slot1-get through the library system 2018-11-05T00:37:50Z Zipheir: Ah, that's really nice. 2018-11-05T00:40:21Z dbmikus quit (Quit: WeeChat 1.9.1) 2018-11-05T00:42:14Z Riastradh: I assume you mean (list 'slot-1) or something? 2018-11-05T00:42:46Z gwatt: jcowan: what you just described doesn't seem all that different from non-applicable records 2018-11-05T00:44:59Z robotoad joined #scheme 2018-11-05T00:58:36Z kjeldahl quit (Ping timeout: 276 seconds) 2018-11-05T01:01:36Z jcowan: Riastradh: yes 2018-11-05T01:02:13Z jcowan: It isn't. The point is that obj is invoked as a procedure, becquse it *is* a procedure. If the first argument is a cookie, then it is either a get or a set; if not, it is an invokation of the body. 2018-11-05T01:07:06Z kjeldahl joined #scheme 2018-11-05T01:07:11Z gwatt: jcowan: you said: (define slot1-get '(slot-1)) (define (get-slot1 obj) (obj slot1-get) and expose get-slot1 but not slot1-get through the library system. 2018-11-05T01:07:29Z gwatt: How is having applicable records useful then? 2018-11-05T01:17:08Z [X-Scale] joined #scheme 2018-11-05T01:19:16Z X-Scale quit (Ping timeout: 264 seconds) 2018-11-05T01:19:16Z [X-Scale] is now known as X-Scale 2018-11-05T01:22:54Z jcowan: You can invoke them; they are active, not just passive collections of slots. 2018-11-05T01:23:31Z jcowan: Furthermore, the body has access to the procedure itself, so it can get and set its own slots. 2018-11-05T01:32:27Z gwatt: But if slot1-get isn't exported the only interface you have it get-slot1 2018-11-05T01:33:35Z gwatt: > "the body has access to the procedure itself" 2018-11-05T01:33:58Z gwatt: Is that different from just having the applicable record in scope? 2018-11-05T01:43:47Z jcowan: No, at least I don't think so. It's the self/this argument from OO languages 2018-11-05T01:44:16Z jcowan: so if you want to know your own slot1 you call (get-slot1 self) 2018-11-05T01:44:32Z jcowan: of course you can get the slot of any object, all slots are public 2018-11-05T01:51:01Z groovy2shoes quit (Excess Flood) 2018-11-05T01:51:22Z groovy2shoes joined #scheme 2018-11-05T02:02:44Z Zipheir: I wonder if applicable records could be used to implement something like Haskell's record-val { slot = value } update syntax. 2018-11-05T02:16:09Z Zipheir: Given an existing record value obj, it would be cool to be able to do something like (rec '((rec-slot-foo ) (rec-slot-bar ))) and have that evaluate to an updated copy of rec. 2018-11-05T02:17:04Z Zipheir: (e.g. the equivalent of rec after (rec-foo-set! rec ), etc., but pure) 2018-11-05T02:17:38Z Zipheir: s/e.g./i.e./ 2018-11-05T02:21:41Z gwatt: Like lenses? 2018-11-05T02:22:13Z hel-io joined #scheme 2018-11-05T02:22:58Z pierpal quit (Ping timeout: 245 seconds) 2018-11-05T02:23:13Z jcowan nods 2018-11-05T02:23:33Z Zipheir: Oh. Yes. xD 2018-11-05T02:24:40Z Zipheir: Don't mind me, just poorly re-inventing the wheel over here. 2018-11-05T02:26:54Z hel-io quit (Ping timeout: 252 seconds) 2018-11-05T02:30:53Z pierpal joined #scheme 2018-11-05T02:54:57Z pierpal quit (Ping timeout: 252 seconds) 2018-11-05T03:13:52Z keep_learning joined #scheme 2018-11-05T03:32:48Z pjb quit (Ping timeout: 252 seconds) 2018-11-05T04:04:16Z Riastradh: jcowan: You should specify that floating-point operations do not trap by default. 2018-11-05T04:04:38Z Riastradh: Provide a way to make them trap if you like, but not by default. 2018-11-05T04:32:50Z robotoad quit (Quit: robotoad) 2018-11-05T04:44:32Z lockywolf joined #scheme 2018-11-05T05:00:49Z robotoad joined #scheme 2018-11-05T05:08:54Z lockywolf quit (Remote host closed the connection) 2018-11-05T05:11:13Z robotoad quit (Quit: robotoad) 2018-11-05T05:12:59Z dbmikus joined #scheme 2018-11-05T05:31:34Z robotoad joined #scheme 2018-11-05T05:32:37Z lockywolf joined #scheme 2018-11-05T05:34:44Z lockywolf: Friends, who uses quack.el here? 2018-11-05T05:35:29Z lockywolf: It seems to had been abandoned when plt-scheme was split from the main scheme family to create racket. 2018-11-05T05:35:41Z lockywolf: But still runs, at least partially. 2018-11-05T05:37:07Z Riastradh: Heh. Neil used to hang out here, many years ago. 2018-11-05T05:38:27Z marusich quit (Ping timeout: 240 seconds) 2018-11-05T05:44:41Z dbmikus quit (Remote host closed the connection) 2018-11-05T05:46:56Z jim quit (Remote host closed the connection) 2018-11-05T05:47:24Z jim joined #scheme 2018-11-05T05:47:36Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-05T05:48:09Z DGASAU joined #scheme 2018-11-05T05:49:13Z clog quit (Ping timeout: 246 seconds) 2018-11-05T05:49:19Z clog joined #scheme 2018-11-05T05:54:02Z marusich joined #scheme 2018-11-05T06:53:39Z mange quit (Remote host closed the connection) 2018-11-05T06:55:03Z Zenton quit (Ping timeout: 244 seconds) 2018-11-05T07:07:04Z on_ion is now known as oni-on-ion 2018-11-05T07:07:25Z Inline quit (Quit: Leaving) 2018-11-05T07:20:32Z marusich quit (Quit: Leaving) 2018-11-05T07:29:21Z vyzo quit (Quit: Leaving.) 2018-11-05T07:42:34Z skapata joined #scheme 2018-11-05T07:51:15Z robotoad quit (Quit: robotoad) 2018-11-05T07:54:19Z muelleme joined #scheme 2018-11-05T07:59:30Z muelleme quit (Ping timeout: 268 seconds) 2018-11-05T08:02:37Z brettgilio joined #scheme 2018-11-05T08:30:56Z brettgilio quit (Remote host closed the connection) 2018-11-05T08:56:42Z InverseRhombus quit (Remote host closed the connection) 2018-11-05T09:03:51Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-05T09:04:30Z yes quit (Remote host closed the connection) 2018-11-05T09:05:17Z yes joined #scheme 2018-11-05T09:14:24Z lockywolf_ joined #scheme 2018-11-05T09:16:43Z lockywolf quit (Ping timeout: 245 seconds) 2018-11-05T09:18:35Z klovett quit (Remote host closed the connection) 2018-11-05T09:19:22Z klovett joined #scheme 2018-11-05T09:30:31Z Zenton joined #scheme 2018-11-05T09:31:40Z bor0 joined #scheme 2018-11-05T09:37:01Z oni-on-ion: is there a popular OOPS system for scheme? GOOPS for guile is rather nice 2018-11-05T09:55:52Z lockywolf_ quit (Ping timeout: 250 seconds) 2018-11-05T10:01:35Z lritter joined #scheme 2018-11-05T10:02:34Z elderK quit (Quit: Connection closed for inactivity) 2018-11-05T10:05:18Z amz3 quit (Ping timeout: 264 seconds) 2018-11-05T10:05:43Z amz3 joined #scheme 2018-11-05T10:18:08Z DGASAU quit (Remote host closed the connection) 2018-11-05T10:28:45Z pierpal joined #scheme 2018-11-05T10:38:12Z InverseRhombus joined #scheme 2018-11-05T10:43:09Z DGASAU joined #scheme 2018-11-05T10:52:42Z razzy joined #scheme 2018-11-05T10:53:26Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-05T10:56:55Z bor0 quit (Quit: This computer has gone to sleep) 2018-11-05T11:12:06Z bor0 joined #scheme 2018-11-05T11:22:26Z bor0 quit (Quit: Leaving) 2018-11-05T11:30:28Z DGASAU` joined #scheme 2018-11-05T11:32:11Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-05T11:41:17Z hel-io joined #scheme 2018-11-05T12:06:26Z nlyy joined #scheme 2018-11-05T12:07:17Z nlyy: why are lists represented as enclosed in parens? 2018-11-05T12:10:53Z hel-io quit (Read error: Connection reset by peer) 2018-11-05T12:12:10Z xkapastel joined #scheme 2018-11-05T12:17:10Z jcowan: nlyy: Because there were no other paired characters easily available in 1958. 2018-11-05T12:17:50Z jcowan: oni-on-ion: Way too many, that's the problem, and why as R7RS-large chair I have ruled out standardizing one. Everyone in Scheme rolls their own, since it's very easy to do so: the Curse of LIsp. 2018-11-05T12:22:10Z nlyy: thanks 2018-11-05T12:25:56Z hel-io joined #scheme 2018-11-05T12:26:20Z ggole joined #scheme 2018-11-05T12:26:39Z hel-io quit (Remote host closed the connection) 2018-11-05T12:29:06Z nlyy left #scheme 2018-11-05T12:29:32Z hel-io joined #scheme 2018-11-05T12:49:17Z lockywolf_ joined #scheme 2018-11-05T12:51:01Z lockywolf_: Well, it's possible to use GObject from C++ 2018-11-05T12:51:32Z lockywolf_: Although it is not possible to inherit a C++ object from a GObject* 2018-11-05T12:54:59Z lockywolf__ joined #scheme 2018-11-05T12:57:36Z lockywolf_ quit (Ping timeout: 272 seconds) 2018-11-05T13:03:30Z jcowan: oni-on-ion: However, the best part of OOP is generic functions, and I hope those will be part of R7RS-large 2018-11-05T13:06:39Z alezost joined #scheme 2018-11-05T13:12:48Z lockywolf__ quit (Remote host closed the connection) 2018-11-05T13:13:36Z lockywolf__ joined #scheme 2018-11-05T13:14:36Z lockywolf__: When is the second draft of R7RS-large planned? 2018-11-05T13:15:32Z lockywolf__: When it's done? 2018-11-05T13:18:43Z nly joined #scheme 2018-11-05T13:26:46Z lockywolf_ joined #scheme 2018-11-05T13:29:07Z lockywolf__ quit (Ping timeout: 246 seconds) 2018-11-05T13:31:19Z rain1 joined #scheme 2018-11-05T13:50:53Z civodul joined #scheme 2018-11-05T13:52:12Z TheGreekOwl quit (Ping timeout: 252 seconds) 2018-11-05T14:22:07Z klovett quit (Remote host closed the connection) 2018-11-05T14:22:24Z klovett joined #scheme 2018-11-05T14:34:27Z lockywolf_ quit (Ping timeout: 240 seconds) 2018-11-05T14:50:08Z badkins joined #scheme 2018-11-05T14:55:32Z InverseRhombus quit (Remote host closed the connection) 2018-11-05T14:59:00Z jao joined #scheme 2018-11-05T14:59:29Z dbmikus_ joined #scheme 2018-11-05T15:00:18Z SirDayBat quit (Ping timeout: 252 seconds) 2018-11-05T15:08:15Z SirDayBat joined #scheme 2018-11-05T15:10:26Z muelleme joined #scheme 2018-11-05T15:12:38Z Inline joined #scheme 2018-11-05T15:15:36Z muelleme quit (Ping timeout: 260 seconds) 2018-11-05T15:15:53Z hel-io quit 2018-11-05T15:28:00Z oni-on-ion: jcowan: hmmm. almost makes me want to stick with guile! 2018-11-05T15:31:20Z ventonegro left #scheme 2018-11-05T15:32:25Z ventonegro joined #scheme 2018-11-05T15:32:38Z yes quit (Remote host closed the connection) 2018-11-05T15:33:10Z yes joined #scheme 2018-11-05T15:33:35Z pierpal quit (Quit: Poof) 2018-11-05T15:33:52Z pierpal joined #scheme 2018-11-05T15:35:59Z jcowan: lockywolf_: R7RS works in cumulative editions rather than drafts. The Red Edition contains some libraries, the Tangerine Edition will have more, etc. etc. until we get to the (currently invisible) Ultraviolet Edition. Of course there will be ongoing errata. 2018-11-05T15:43:36Z jao quit (Ping timeout: 244 seconds) 2018-11-05T15:51:52Z oni-on-ion: https://github.com/petercrlane/r7rs-libs 2018-11-05T15:52:11Z oni-on-ion: http://snow-fort.org/ hmmm. 2018-11-05T15:57:47Z smazga joined #scheme 2018-11-05T16:10:15Z nly quit (Ping timeout: 252 seconds) 2018-11-05T16:14:45Z robotoad joined #scheme 2018-11-05T16:32:10Z badkins quit (Remote host closed the connection) 2018-11-05T16:47:42Z Zaab1t joined #scheme 2018-11-05T16:48:54Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-05T16:59:57Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-05T17:00:58Z InverseRhombus joined #scheme 2018-11-05T17:27:01Z badkins joined #scheme 2018-11-05T17:31:53Z badkins_ joined #scheme 2018-11-05T17:35:15Z badkins quit (Ping timeout: 250 seconds) 2018-11-05T18:02:14Z oni-on-ion: trying to compile LambdaNative 2018-11-05T18:02:23Z muelleme joined #scheme 2018-11-05T18:07:33Z muelleme quit (Ping timeout: 245 seconds) 2018-11-05T18:19:22Z oni-on-ion: well. going to try RedEdition in Chez 2018-11-05T18:23:58Z on_ion joined #scheme 2018-11-05T18:25:34Z oni-on-ion quit (Ping timeout: 246 seconds) 2018-11-05T18:25:46Z on_ion is now known as oni-on-ion 2018-11-05T18:25:57Z ggole quit (Quit: ggole) 2018-11-05T18:26:00Z eddof13 joined #scheme 2018-11-05T18:28:59Z nly joined #scheme 2018-11-05T18:32:49Z flerovite quit (Ping timeout: 268 seconds) 2018-11-05T18:33:27Z Zenton quit (Ping timeout: 240 seconds) 2018-11-05T18:33:50Z flerovite joined #scheme 2018-11-05T18:36:43Z jcowan: oni-on-ion: Let us know. Some adjustments will be needed. 2018-11-05T18:56:46Z nly quit (Quit: Quit) 2018-11-05T19:10:25Z nly joined #scheme 2018-11-05T19:32:48Z eddof13 quit (Quit: eddof13) 2018-11-05T19:37:42Z InverseRhombus quit (Remote host closed the connection) 2018-11-05T19:46:43Z emar quit (Ping timeout: 245 seconds) 2018-11-05T19:47:56Z emar joined #scheme 2018-11-05T19:48:41Z klovett_ joined #scheme 2018-11-05T19:52:26Z klovett quit (Ping timeout: 272 seconds) 2018-11-05T19:59:58Z InverseRhombus joined #scheme 2018-11-05T20:00:24Z InverseRhombus quit (Max SendQ exceeded) 2018-11-05T20:00:44Z InverseRhombus joined #scheme 2018-11-05T20:06:54Z eddof13 joined #scheme 2018-11-05T20:07:16Z Zaab1t quit (Quit: bye bye friends) 2018-11-05T20:16:33Z jao joined #scheme 2018-11-05T20:22:45Z Zenton joined #scheme 2018-11-05T20:32:01Z eddof13 quit (Quit: eddof13) 2018-11-05T20:35:41Z civodul joined #scheme 2018-11-05T20:46:59Z amz3 joined #scheme 2018-11-05T20:51:53Z robotoad quit (Read error: Connection reset by peer) 2018-11-05T20:52:06Z amz3 quit (Ping timeout: 264 seconds) 2018-11-05T20:52:43Z robotoad joined #scheme 2018-11-05T20:53:46Z amz3 joined #scheme 2018-11-05T20:57:19Z charh joined #scheme 2018-11-05T20:59:45Z klovett joined #scheme 2018-11-05T21:01:52Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-05T21:06:27Z jao quit (Ping timeout: 240 seconds) 2018-11-05T21:07:10Z jao joined #scheme 2018-11-05T21:14:33Z eddof13 joined #scheme 2018-11-05T21:25:24Z daviid quit (Ping timeout: 252 seconds) 2018-11-05T21:32:21Z badkins_ quit (Ping timeout: 244 seconds) 2018-11-05T21:36:05Z skapata quit (Read error: Connection reset by peer) 2018-11-05T21:36:20Z InverseRhombus quit (Remote host closed the connection) 2018-11-05T21:37:51Z eddof13 quit (Quit: eddof13) 2018-11-05T21:39:40Z nly quit (Ping timeout: 268 seconds) 2018-11-05T21:40:45Z eddof13 joined #scheme 2018-11-05T21:43:45Z brettgilio joined #scheme 2018-11-05T21:44:02Z skapata joined #scheme 2018-11-05T21:59:36Z brettgilio quit (Remote host closed the connection) 2018-11-05T22:01:13Z vyzo joined #scheme 2018-11-05T22:01:47Z jao quit (Ping timeout: 240 seconds) 2018-11-05T22:09:18Z daviid joined #scheme 2018-11-05T22:17:02Z sakalli__ quit (Quit: Connection closed for inactivity) 2018-11-05T22:22:23Z brendyyn joined #scheme 2018-11-05T22:37:38Z charh quit (Ping timeout: 268 seconds) 2018-11-05T22:45:42Z dbmikus_ quit (Ping timeout: 252 seconds) 2018-11-05T22:46:25Z zachk joined #scheme 2018-11-05T22:46:31Z dbmikus_ joined #scheme 2018-11-05T22:48:16Z zachk quit (Changing host) 2018-11-05T22:48:16Z zachk joined #scheme 2018-11-05T22:49:43Z badkins joined #scheme 2018-11-05T22:49:52Z InverseRhombus joined #scheme 2018-11-05T22:51:44Z lritter quit (Quit: Leaving) 2018-11-05T23:04:49Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-05T23:23:31Z klovett quit (Remote host closed the connection) 2018-11-05T23:25:23Z klovett joined #scheme 2018-11-05T23:31:54Z dbmikus_ quit (Ping timeout: 268 seconds) 2018-11-05T23:32:58Z smazga quit (Quit: leaving) 2018-11-05T23:44:34Z grettke joined #scheme 2018-11-05T23:52:12Z eddof13 quit (Quit: eddof13) 2018-11-05T23:53:08Z eddof13 joined #scheme 2018-11-06T00:02:40Z muelleme joined #scheme 2018-11-06T00:07:39Z muelleme quit (Ping timeout: 252 seconds) 2018-11-06T00:07:47Z brettgilio joined #scheme 2018-11-06T00:11:00Z robotoad quit (Quit: robotoad) 2018-11-06T00:32:54Z robotoad joined #scheme 2018-11-06T00:39:57Z klovett_ joined #scheme 2018-11-06T00:42:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-06T00:45:47Z robotoad quit (Quit: robotoad) 2018-11-06T00:46:50Z dbmikus__ joined #scheme 2018-11-06T00:49:25Z mejja joined #scheme 2018-11-06T01:10:04Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T01:15:09Z klovett joined #scheme 2018-11-06T01:17:15Z zachk quit (Quit: Leaving) 2018-11-06T01:18:07Z klovett_ quit (Ping timeout: 240 seconds) 2018-11-06T01:18:28Z eddof13 quit (Quit: eddof13) 2018-11-06T01:19:10Z brettgilio quit (Remote host closed the connection) 2018-11-06T01:56:07Z khisanth_ quit (Ping timeout: 240 seconds) 2018-11-06T02:03:43Z daviid quit (Ping timeout: 246 seconds) 2018-11-06T02:06:16Z mejja quit (Quit: mejja) 2018-11-06T02:09:01Z khisanth_ joined #scheme 2018-11-06T02:15:45Z oni-on-ion: ahh! no geiser support for gambit! 2018-11-06T02:16:55Z krsiehl[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:16:57Z DeeEff quit (Ping timeout: 252 seconds) 2018-11-06T02:16:58Z plll[m] quit (Ping timeout: 250 seconds) 2018-11-06T02:17:10Z test[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:17:23Z mbakke quit (Ping timeout: 250 seconds) 2018-11-06T02:17:23Z proksi[m] quit (Ping timeout: 250 seconds) 2018-11-06T02:17:23Z siraben quit (Ping timeout: 250 seconds) 2018-11-06T02:17:28Z Seb[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:17:28Z willghatch[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:17:28Z ManDay[m] quit (Ping timeout: 264 seconds) 2018-11-06T02:17:29Z spectrumgomas[m] quit (Ping timeout: 264 seconds) 2018-11-06T02:17:30Z MeihamuSama[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:17:31Z Gnuxie[m] quit (Ping timeout: 252 seconds) 2018-11-06T02:17:39Z remix2000[m] quit (Ping timeout: 276 seconds) 2018-11-06T02:17:41Z ArthurAGleckler[ quit (Ping timeout: 260 seconds) 2018-11-06T02:17:51Z elderK joined #scheme 2018-11-06T02:20:09Z grettke joined #scheme 2018-11-06T02:20:31Z klovett quit (Remote host closed the connection) 2018-11-06T02:21:11Z klovett joined #scheme 2018-11-06T02:28:52Z Ober: oni-on-ion: someone was working on it for gerbil/gambit 2018-11-06T02:29:31Z oni-on-ion: Ober: i've seen the github issue, but that is a big X over possibility of choice. will play more with chez, but i was looking at gambit for potential web target 2018-11-06T02:31:36Z elderK quit (Read error: Connection timed out) 2018-11-06T02:31:49Z elderK joined #scheme 2018-11-06T02:41:43Z MeihamuSama[m] joined #scheme 2018-11-06T02:43:44Z Ober: ahh for js? nice. yeah the universal backend is handy for obfuscation of scheme :P 2018-11-06T02:45:39Z jcowan: There are a couple of Scheme->JS compilers 2018-11-06T02:45:40Z ArthurAGleckler[ joined #scheme 2018-11-06T02:45:45Z Gnuxie[m] joined #scheme 2018-11-06T02:46:55Z DeeEff joined #scheme 2018-11-06T02:46:56Z krsiehl[m] joined #scheme 2018-11-06T02:47:00Z jcowan: BiwaScheme, Spock, CPSCM, Scheje 2018-11-06T02:47:05Z spectrumgomas[m] joined #scheme 2018-11-06T02:48:09Z siraben joined #scheme 2018-11-06T02:48:25Z ManDay[m] joined #scheme 2018-11-06T02:48:43Z jcowan: Actually Scheje is written in Clojure, so it can be on the JVM or the JSVM. 2018-11-06T02:48:50Z Seb[m] joined #scheme 2018-11-06T02:49:08Z willghatch[m] joined #scheme 2018-11-06T02:49:29Z remix2000[m] joined #scheme 2018-11-06T02:49:41Z proksi[m] joined #scheme 2018-11-06T02:49:54Z test[m] joined #scheme 2018-11-06T02:50:08Z brettgilio joined #scheme 2018-11-06T02:51:34Z plll[m] joined #scheme 2018-11-06T02:52:46Z mbakke joined #scheme 2018-11-06T03:03:51Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-06T03:06:40Z robotoad joined #scheme 2018-11-06T03:08:48Z Zipheir quit (Remote host closed the connection) 2018-11-06T03:13:12Z johnvonneuman_ quit (Remote host closed the connection) 2018-11-06T03:13:46Z johnvonneuman_ joined #scheme 2018-11-06T03:22:56Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T03:38:28Z Gnuxie[m] quit (Ping timeout: 250 seconds) 2018-11-06T03:38:46Z spectrumgomas[m] quit (Ping timeout: 260 seconds) 2018-11-06T03:38:51Z remix2000[m] quit (Ping timeout: 250 seconds) 2018-11-06T03:38:56Z willghatch[m] quit (Ping timeout: 264 seconds) 2018-11-06T03:38:57Z mbakke quit (Ping timeout: 250 seconds) 2018-11-06T03:39:04Z DeeEff quit (Ping timeout: 252 seconds) 2018-11-06T03:39:05Z ManDay[m] quit (Ping timeout: 264 seconds) 2018-11-06T03:39:21Z plll[m] quit (Ping timeout: 260 seconds) 2018-11-06T03:39:22Z MeihamuSama[m] quit (Ping timeout: 260 seconds) 2018-11-06T03:39:25Z test[m] quit (Ping timeout: 252 seconds) 2018-11-06T03:39:25Z proksi[m] quit (Ping timeout: 252 seconds) 2018-11-06T03:39:25Z siraben quit (Ping timeout: 252 seconds) 2018-11-06T03:39:25Z krsiehl[m] quit (Ping timeout: 252 seconds) 2018-11-06T03:39:40Z ArthurAGleckler[ quit (Ping timeout: 264 seconds) 2018-11-06T03:40:12Z Seb[m] quit (Ping timeout: 276 seconds) 2018-11-06T04:07:34Z klovett quit (Remote host closed the connection) 2018-11-06T04:07:48Z klovett joined #scheme 2018-11-06T04:18:08Z yes quit (Quit: ZNC 1.6.5+deb1+deb9u1 - http://znc.in) 2018-11-06T04:18:47Z yes joined #scheme 2018-11-06T04:28:56Z krsiehl[m] joined #scheme 2018-11-06T04:29:25Z willghatch[m] joined #scheme 2018-11-06T04:29:28Z Seb[m] joined #scheme 2018-11-06T04:30:26Z Gnuxie[m] joined #scheme 2018-11-06T04:30:49Z spectrumgomas[m] joined #scheme 2018-11-06T04:31:34Z ManDay[m] joined #scheme 2018-11-06T04:32:07Z proksi[m] joined #scheme 2018-11-06T04:32:37Z ArthurAGleckler[ joined #scheme 2018-11-06T04:33:01Z mbakke joined #scheme 2018-11-06T04:34:01Z plll[m] joined #scheme 2018-11-06T04:34:19Z MeihamuSama[m] joined #scheme 2018-11-06T04:34:26Z test[m] joined #scheme 2018-11-06T04:34:51Z siraben joined #scheme 2018-11-06T04:34:56Z DeeEff joined #scheme 2018-11-06T04:35:39Z dbmikus__ quit (Quit: WeeChat 2.3) 2018-11-06T04:36:24Z remix2000[m] joined #scheme 2018-11-06T05:23:11Z siraben quit (Changing host) 2018-11-06T05:23:11Z siraben joined #scheme 2018-11-06T05:23:11Z siraben quit (Changing host) 2018-11-06T05:23:11Z siraben joined #scheme 2018-11-06T05:39:00Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-06T05:39:37Z DGASAU joined #scheme 2018-11-06T05:48:59Z pierpal quit (Quit: Poof) 2018-11-06T05:49:01Z Inline quit (Quit: Leaving) 2018-11-06T05:49:25Z pierpal joined #scheme 2018-11-06T07:15:26Z robotoad quit (Read error: Connection reset by peer) 2018-11-06T07:16:05Z robotoad joined #scheme 2018-11-06T07:18:33Z DGASAU quit (Remote host closed the connection) 2018-11-06T07:20:25Z DGASAU joined #scheme 2018-11-06T07:39:27Z TheGreekOwl joined #scheme 2018-11-06T07:41:00Z robotoad quit (Quit: robotoad) 2018-11-06T07:42:35Z skapate joined #scheme 2018-11-06T07:42:35Z skapata quit (Read error: Connection reset by peer) 2018-11-06T07:42:56Z skapate is now known as skapata 2018-11-06T07:42:58Z skapata: :D 2018-11-06T07:43:25Z skapata: 8Gb da memoro estas tro malmulte :( 2018-11-06T07:43:38Z skapata: kelkfoje mi devas reŝalti la komputilon 2018-11-06T07:43:49Z skapata: mi ne dormis 2018-11-06T07:47:12Z vyzo quit (Quit: Leaving.) 2018-11-06T07:57:01Z skapata quit (Remote host closed the connection) 2018-11-06T08:04:16Z ArneBab quit (Ping timeout: 264 seconds) 2018-11-06T08:05:12Z ArneBab joined #scheme 2018-11-06T08:24:48Z rk4 left #scheme 2018-11-06T08:33:03Z Zaab1t joined #scheme 2018-11-06T08:49:52Z bor0 joined #scheme 2018-11-06T08:54:36Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-06T09:07:49Z civodul joined #scheme 2018-11-06T09:21:09Z InverseRhombus joined #scheme 2018-11-06T09:23:52Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-06T09:27:37Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-06T09:33:42Z niklasl2 joined #scheme 2018-11-06T09:35:08Z niklasl quit (Ping timeout: 272 seconds) 2018-11-06T09:52:36Z xkapastel joined #scheme 2018-11-06T09:53:55Z oni-on-ion: if i write with guile, must i LGPL ? 2018-11-06T09:54:49Z wasamasa: that would be insane 2018-11-06T09:56:57Z ecraven: hm.. is there such a license for any compiler? 2018-11-06T09:57:57Z oni-on-ion: i am not wise with legal things =) so i can fully write scheme with guile (depending on link method) if i decide to have proprietary/private/commercial code ? 2018-11-06T10:07:28Z Zaab1t quit (Quit: bye bye friends) 2018-11-06T10:14:01Z TGO joined #scheme 2018-11-06T10:17:20Z TheGreekOwl quit (Ping timeout: 276 seconds) 2018-11-06T10:24:39Z GreekPigeon joined #scheme 2018-11-06T10:27:30Z TGO quit (Ping timeout: 252 seconds) 2018-11-06T11:01:58Z gwatt: oni-on-ion: Probably. What you can't do is modify guile and keep those changes private. 2018-11-06T11:15:36Z GreekPigeon quit (Quit: I must go, my planet needs me.) 2018-11-06T11:33:59Z bor0 quit (Quit: Leaving) 2018-11-06T11:47:07Z InverseRhombus quit (Remote host closed the connection) 2018-11-06T11:49:04Z grettke joined #scheme 2018-11-06T11:51:47Z ecraven: you can, as long as you don't distribute it, I think 2018-11-06T12:03:37Z jonaslund quit (Ping timeout: 268 seconds) 2018-11-06T12:09:21Z jonaslund joined #scheme 2018-11-06T12:17:28Z elderK quit (Quit: Connection closed for inactivity) 2018-11-06T12:21:42Z InverseRhombus joined #scheme 2018-11-06T12:38:36Z ggole joined #scheme 2018-11-06T12:41:09Z lritter joined #scheme 2018-11-06T12:41:27Z civodul joined #scheme 2018-11-06T12:48:05Z lockywolf joined #scheme 2018-11-06T12:48:53Z lockywolf quit (Remote host closed the connection) 2018-11-06T12:49:27Z lockywolf joined #scheme 2018-11-06T12:53:14Z jcowan joined #scheme 2018-11-06T12:56:21Z keep_learning quit (K-Lined) 2018-11-06T13:10:12Z pierpal quit (Quit: Poof) 2018-11-06T13:10:28Z pierpal joined #scheme 2018-11-06T13:29:07Z charh joined #scheme 2018-11-06T13:41:24Z ski . o O ( ) 2018-11-06T13:42:12Z InverseRhombus quit (Remote host closed the connection) 2018-11-06T13:42:19Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T13:50:11Z grettke joined #scheme 2018-11-06T13:57:18Z civodul: didn't know about WAT, funny that it uses sexps 2018-11-06T13:58:30Z lockywolf quit (Remote host closed the connection) 2018-11-06T13:59:23Z elly: a good idea never dies :P 2018-11-06T13:59:41Z lockywolf joined #scheme 2018-11-06T13:59:53Z lockywolf quit (Remote host closed the connection) 2018-11-06T14:00:20Z lockywolf joined #scheme 2018-11-06T14:05:15Z jcowan: What is WAT? 2018-11-06T14:07:41Z yes left #scheme 2018-11-06T14:11:08Z InverseRhombus joined #scheme 2018-11-06T14:12:05Z elly: webassembly text format 2018-11-06T14:12:20Z elly: it reads like LLVM IR with sexps for the concrete syntax 2018-11-06T14:14:36Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T14:25:11Z yosafbridge quit (Quit: Leaving) 2018-11-06T14:29:46Z grettke joined #scheme 2018-11-06T14:30:43Z grettke quit (Client Quit) 2018-11-06T14:35:00Z yosafbridge joined #scheme 2018-11-06T14:36:47Z Zaab1t joined #scheme 2018-11-06T14:41:34Z grettke joined #scheme 2018-11-06T15:00:54Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T15:03:44Z muelleme joined #scheme 2018-11-06T15:05:33Z Inline joined #scheme 2018-11-06T15:07:23Z lockywolf quit (Remote host closed the connection) 2018-11-06T15:07:49Z lockywolf joined #scheme 2018-11-06T15:08:11Z ogamita joined #scheme 2018-11-06T15:08:54Z muelleme quit (Ping timeout: 272 seconds) 2018-11-06T15:34:51Z ogamita quit (Quit: I'll be back.) 2018-11-06T15:40:51Z muelleme joined #scheme 2018-11-06T15:43:49Z grettke joined #scheme 2018-11-06T15:46:27Z eddof13 joined #scheme 2018-11-06T15:47:05Z eddof13 quit (Client Quit) 2018-11-06T15:48:03Z eddof13 joined #scheme 2018-11-06T15:49:50Z jcowan: Ah. Bad name, too many confounds 2018-11-06T15:51:27Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-06T15:55:39Z pierpal quit (Quit: Poof) 2018-11-06T15:55:57Z pierpal joined #scheme 2018-11-06T15:57:51Z gwatt quit (Ping timeout: 260 seconds) 2018-11-06T15:58:07Z gwatt joined #scheme 2018-11-06T15:58:32Z eddof13 quit (Quit: eddof13) 2018-11-06T16:01:14Z eddof13 joined #scheme 2018-11-06T16:04:14Z klovett quit (Remote host closed the connection) 2018-11-06T16:04:58Z klovett joined #scheme 2018-11-06T16:23:58Z drot joined #scheme 2018-11-06T16:29:30Z skapata joined #scheme 2018-11-06T16:30:03Z edgar-rft quit (Remote host closed the connection) 2018-11-06T16:32:04Z robotoad joined #scheme 2018-11-06T16:35:09Z smazga joined #scheme 2018-11-06T16:37:49Z dbmikus joined #scheme 2018-11-06T16:49:52Z pierpal quit (Quit: Poof) 2018-11-06T16:50:11Z pierpal joined #scheme 2018-11-06T16:55:53Z klovett quit (Remote host closed the connection) 2018-11-06T16:56:09Z klovett joined #scheme 2018-11-06T17:01:46Z nly joined #scheme 2018-11-06T17:05:28Z dbmikus quit (Read error: Connection reset by peer) 2018-11-06T17:10:19Z ggole quit (Quit: ggole) 2018-11-06T17:21:43Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T17:31:30Z oni-on-ion: gwatt: ecraven: ahh alright. =) 2018-11-06T17:50:56Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-06T17:51:39Z dbmikus_ joined #scheme 2018-11-06T17:53:32Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-06T17:55:07Z brettgilio quit (Ping timeout: 240 seconds) 2018-11-06T18:01:25Z jao joined #scheme 2018-11-06T18:17:08Z charh quit (Ping timeout: 245 seconds) 2018-11-06T18:19:57Z Zaab1t quit (Quit: bye bye friends) 2018-11-06T18:28:16Z klovett quit (Remote host closed the connection) 2018-11-06T18:28:30Z Kkiro quit (Ping timeout: 246 seconds) 2018-11-06T18:29:26Z klovett joined #scheme 2018-11-06T18:30:22Z Kkiro joined #scheme 2018-11-06T18:30:29Z Kkiro quit (Changing host) 2018-11-06T18:30:29Z Kkiro joined #scheme 2018-11-06T18:34:35Z klovett quit (Ping timeout: 268 seconds) 2018-11-06T18:39:09Z charh joined #scheme 2018-11-06T18:41:12Z Zaab1t joined #scheme 2018-11-06T18:42:18Z grettke joined #scheme 2018-11-06T18:44:07Z edgar-rft joined #scheme 2018-11-06T18:46:54Z amz3 quit (Changing host) 2018-11-06T18:46:54Z amz3 joined #scheme 2018-11-06T18:52:28Z charh quit (Ping timeout: 268 seconds) 2018-11-06T18:53:10Z klovett joined #scheme 2018-11-06T18:56:38Z zachk joined #scheme 2018-11-06T18:57:28Z daviid joined #scheme 2018-11-06T18:57:31Z zachk quit (Read error: Connection reset by peer) 2018-11-06T18:57:52Z zachk joined #scheme 2018-11-06T19:04:29Z charh joined #scheme 2018-11-06T19:04:49Z edgar-rft quit (Remote host closed the connection) 2018-11-06T19:05:58Z zachk quit (Changing host) 2018-11-06T19:05:58Z zachk joined #scheme 2018-11-06T19:09:07Z jao quit (Ping timeout: 268 seconds) 2018-11-06T19:09:11Z InverseRhombus joined #scheme 2018-11-06T19:13:00Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T19:17:27Z vyzo joined #scheme 2018-11-06T19:26:36Z grettke joined #scheme 2018-11-06T19:46:48Z edw joined #scheme 2018-11-06T19:56:58Z edw` joined #scheme 2018-11-06T19:57:33Z edw quit (Ping timeout: 245 seconds) 2018-11-06T20:02:09Z edw` quit (Ping timeout: 268 seconds) 2018-11-06T20:20:16Z eddof13 quit (Quit: eddof13) 2018-11-06T20:25:17Z civodul joined #scheme 2018-11-06T20:29:45Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T20:37:08Z elderK joined #scheme 2018-11-06T20:38:42Z DGASAU` joined #scheme 2018-11-06T20:40:24Z DGASAU quit (Ping timeout: 252 seconds) 2018-11-06T20:55:31Z grettke joined #scheme 2018-11-06T20:56:12Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-06T20:56:28Z eddof13 joined #scheme 2018-11-06T20:56:35Z DGASAU joined #scheme 2018-11-06T21:14:05Z Zaab1t quit (Quit: bye bye friends) 2018-11-06T21:22:44Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T21:26:53Z edgar-rft joined #scheme 2018-11-06T21:34:49Z grettke joined #scheme 2018-11-06T21:37:48Z klovett_ joined #scheme 2018-11-06T21:41:36Z klovett quit (Ping timeout: 244 seconds) 2018-11-06T21:52:40Z fadein quit (Quit: leaving) 2018-11-06T22:05:50Z terpri joined #scheme 2018-11-06T22:06:12Z fadein joined #scheme 2018-11-06T22:06:37Z klovett joined #scheme 2018-11-06T22:10:03Z klovett_ quit (Ping timeout: 245 seconds) 2018-11-06T22:14:47Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-06T22:24:45Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-06T22:29:43Z grettke joined #scheme 2018-11-06T22:31:10Z muelleme quit (Ping timeout: 246 seconds) 2018-11-06T22:32:29Z amz3 quit (Read error: Connection reset by peer) 2018-11-06T22:34:36Z Guest40074 quit (Ping timeout: 252 seconds) 2018-11-06T22:38:29Z Guest40074 joined #scheme 2018-11-06T22:46:09Z jonaslund quit (Ping timeout: 252 seconds) 2018-11-06T22:55:13Z lambda-11235 joined #scheme 2018-11-06T23:06:47Z lavaflow quit (Read error: Connection reset by peer) 2018-11-06T23:07:44Z lavaflow joined #scheme 2018-11-06T23:14:28Z dbmikus_ quit (Ping timeout: 250 seconds) 2018-11-06T23:15:32Z niklasl2 quit (Quit: Nettalk6 - www.ntalk.de) 2018-11-06T23:15:53Z niklasl joined #scheme 2018-11-06T23:17:11Z lritter quit (Quit: Leaving) 2018-11-06T23:22:21Z acarrico quit (Ping timeout: 244 seconds) 2018-11-06T23:23:36Z acarrico joined #scheme 2018-11-06T23:27:57Z muelleme joined #scheme 2018-11-06T23:32:41Z muelleme quit (Ping timeout: 244 seconds) 2018-11-06T23:48:01Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-07T00:02:54Z lambda-11235 quit (Quit: Bye) 2018-11-07T00:03:29Z robotoad quit (Quit: robotoad) 2018-11-07T00:14:22Z f8l quit (Ping timeout: 268 seconds) 2018-11-07T00:17:11Z f8l joined #scheme 2018-11-07T00:23:52Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-07T00:24:51Z smazga quit (Quit: leaving) 2018-11-07T00:28:16Z robotoad joined #scheme 2018-11-07T00:43:25Z zachk quit (Quit: Leaving) 2018-11-07T01:13:00Z eddof13 quit (Quit: eddof13) 2018-11-07T01:13:24Z jcowan joined #scheme 2018-11-07T01:15:17Z charh quit (Remote host closed the connection) 2018-11-07T01:19:07Z keep_learning joined #scheme 2018-11-07T01:20:55Z jonaslund joined #scheme 2018-11-07T01:22:36Z keep_learning quit (Client Quit) 2018-11-07T01:35:07Z sethalves quit (Ping timeout: 240 seconds) 2018-11-07T01:37:47Z sethalves joined #scheme 2018-11-07T01:38:23Z sudden quit (Ping timeout: 276 seconds) 2018-11-07T01:39:52Z sudden joined #scheme 2018-11-07T01:39:52Z sudden quit (Changing host) 2018-11-07T01:39:52Z sudden joined #scheme 2018-11-07T01:46:28Z sudden quit (Ping timeout: 246 seconds) 2018-11-07T01:53:55Z sudden joined #scheme 2018-11-07T01:55:02Z oni-on-ion quit (Read error: Connection reset by peer) 2018-11-07T03:03:23Z robotoad quit (Quit: robotoad) 2018-11-07T03:14:17Z nly quit (Read error: Connection reset by peer) 2018-11-07T03:14:26Z nly joined #scheme 2018-11-07T03:22:18Z robotoad joined #scheme 2018-11-07T03:40:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-07T03:42:06Z muelleme joined #scheme 2018-11-07T03:42:13Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-07T03:48:34Z muelleme quit (Ping timeout: 252 seconds) 2018-11-07T04:13:25Z skapata quit (Remote host closed the connection) 2018-11-07T04:32:53Z klovett quit (Remote host closed the connection) 2018-11-07T04:33:31Z klovett joined #scheme 2018-11-07T04:40:00Z pierpal quit (Quit: Poof) 2018-11-07T04:40:15Z pierpal joined #scheme 2018-11-07T04:52:14Z brendyyn quit (Ping timeout: 272 seconds) 2018-11-07T04:52:20Z brendyn joined #scheme 2018-11-07T04:58:16Z klovett quit (Remote host closed the connection) 2018-11-07T04:58:21Z klovett_ joined #scheme 2018-11-07T05:28:48Z klovett_ quit (Remote host closed the connection) 2018-11-07T05:29:33Z klovett joined #scheme 2018-11-07T05:45:53Z Inline quit (Quit: Leaving) 2018-11-07T05:56:34Z klovett quit (Ping timeout: 244 seconds) 2018-11-07T06:26:49Z robotoad quit (Quit: robotoad) 2018-11-07T06:37:14Z klovett joined #scheme 2018-11-07T06:39:19Z robotoad joined #scheme 2018-11-07T07:05:34Z VKraft joined #scheme 2018-11-07T07:38:18Z xkapastel joined #scheme 2018-11-07T07:55:22Z nly quit (Read error: Connection reset by peer) 2018-11-07T07:55:28Z oni-on-ion joined #scheme 2018-11-07T08:01:12Z robotoad quit (Quit: robotoad) 2018-11-07T08:04:40Z vyzo quit (Quit: Leaving.) 2018-11-07T08:17:26Z hugo quit (Ping timeout: 272 seconds) 2018-11-07T08:23:03Z skapata joined #scheme 2018-11-07T08:23:51Z klovett quit (Ping timeout: 252 seconds) 2018-11-07T08:30:16Z nly joined #scheme 2018-11-07T08:31:01Z hugo joined #scheme 2018-11-07T08:34:37Z VKraft quit (Quit: Leaving) 2018-11-07T08:37:27Z muelleme joined #scheme 2018-11-07T08:42:11Z muelleme quit (Ping timeout: 276 seconds) 2018-11-07T08:43:37Z muelleme joined #scheme 2018-11-07T08:48:06Z muelleme quit (Ping timeout: 244 seconds) 2018-11-07T08:49:09Z InverseRhombus quit (Remote host closed the connection) 2018-11-07T08:51:00Z klovett joined #scheme 2018-11-07T09:00:15Z bor0 joined #scheme 2018-11-07T09:01:02Z klovett quit (Ping timeout: 276 seconds) 2018-11-07T09:01:04Z lavaflow quit (Read error: Connection reset by peer) 2018-11-07T09:01:55Z lavaflow joined #scheme 2018-11-07T09:08:16Z ogamita joined #scheme 2018-11-07T09:21:43Z brendyn quit (Ping timeout: 245 seconds) 2018-11-07T09:36:47Z hugo quit (Ping timeout: 240 seconds) 2018-11-07T09:38:06Z DGASAU joined #scheme 2018-11-07T09:48:48Z ogamita quit (Read error: No route to host) 2018-11-07T09:52:28Z ogamita joined #scheme 2018-11-07T09:58:16Z hugo joined #scheme 2018-11-07T10:05:09Z klovett joined #scheme 2018-11-07T10:09:28Z civodul joined #scheme 2018-11-07T10:21:47Z klovett quit (Ping timeout: 268 seconds) 2018-11-07T10:56:27Z pierpal quit (Quit: Poof) 2018-11-07T10:56:45Z pierpal joined #scheme 2018-11-07T11:06:21Z elderK quit (Quit: Connection closed for inactivity) 2018-11-07T11:33:52Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-07T11:36:51Z ggole joined #scheme 2018-11-07T11:53:06Z grettke joined #scheme 2018-11-07T12:01:43Z alezost joined #scheme 2018-11-07T12:07:51Z hugo quit (Ping timeout: 268 seconds) 2018-11-07T12:09:51Z hugo joined #scheme 2018-11-07T12:17:05Z klovett joined #scheme 2018-11-07T12:25:43Z klovett quit (Remote host closed the connection) 2018-11-07T12:26:21Z klovett joined #scheme 2018-11-07T12:29:29Z amoe quit (Quit: leaving) 2018-11-07T12:29:43Z amoe joined #scheme 2018-11-07T12:34:41Z bor0 quit (Quit: Leaving) 2018-11-07T12:39:08Z lritter joined #scheme 2018-11-07T12:39:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-07T12:42:21Z charh joined #scheme 2018-11-07T12:46:33Z ogamita quit (Ping timeout: 252 seconds) 2018-11-07T12:48:21Z ogamita joined #scheme 2018-11-07T12:48:35Z lockywolf joined #scheme 2018-11-07T12:51:48Z lockywolf_ joined #scheme 2018-11-07T12:55:02Z lockywolf quit (Ping timeout: 276 seconds) 2018-11-07T12:59:26Z DGASAU quit (Read error: Connection reset by peer) 2018-11-07T13:05:08Z DGASAU joined #scheme 2018-11-07T13:06:26Z razzy quit (Ping timeout: 268 seconds) 2018-11-07T13:07:10Z klovett joined #scheme 2018-11-07T13:11:51Z ogamita quit (Read error: No route to host) 2018-11-07T13:15:37Z ogamita joined #scheme 2018-11-07T13:15:48Z ogamita quit (Remote host closed the connection) 2018-11-07T13:16:35Z pierpal quit (Quit: Poof) 2018-11-07T13:16:51Z pierpal joined #scheme 2018-11-07T13:17:16Z pjb joined #scheme 2018-11-07T13:17:31Z pjb is now known as Guest64697 2018-11-07T13:30:08Z lockywolf_ quit (Ping timeout: 276 seconds) 2018-11-07T13:34:16Z Guest64697 quit (Read error: No route to host) 2018-11-07T13:35:07Z klovett quit (Remote host closed the connection) 2018-11-07T13:35:23Z klovett joined #scheme 2018-11-07T13:37:58Z Guest64697 joined #scheme 2018-11-07T13:39:05Z lockywolf joined #scheme 2018-11-07T13:49:08Z razzy joined #scheme 2018-11-07T13:49:15Z jcowan joined #scheme 2018-11-07T13:50:40Z dTal: I'm finding something a little confusing about logical operators like 'and' and 'or'. It seems they're not procedures? My repl complains 'invalid syntax' whenever I type them in bare, or use them in any way other than directly such as with 'apply'. 2018-11-07T13:50:58Z elly: can you provide an example of what you mean? 2018-11-07T13:50:59Z ecraven: they are syntax, not functions 2018-11-07T13:51:16Z ecraven: like `if' or `define' 2018-11-07T13:51:31Z elly: oh, I see 2018-11-07T13:51:38Z dTal: Right, but... how am I supposed to apply them across a list then 2018-11-07T13:52:38Z dTal: I'd like to perform a logical 'and' across a list of indeterminate length, such that it short circuits on the first '#f' 2018-11-07T13:52:53Z elly: you can wrap them in a lambda if you'd like 2018-11-07T13:53:17Z ecraven: dTal: you need to implement that yourself 2018-11-07T13:53:29Z dTal: I see 2018-11-07T13:53:37Z dTal: I thought that would be basic functionality 2018-11-07T13:53:45Z elly: the reason that they are syntax is that they do not evaluate all their arguments 2018-11-07T13:53:59Z dTal: yes I understand that 2018-11-07T13:54:34Z elly: so if you wanted to do something like this: (foldl and #t list), the 'foldl' would have already evaluated all of the list, defeating the purpose of and behaving that way 2018-11-07T13:54:47Z dTal: right 2018-11-07T13:55:22Z dTal: but 'and' already takes an arbitrary number of arguments and short circuits all by itself, exactly because it doesn't evaluate its arguments 2018-11-07T13:55:45Z dTal: I feel like there should be some easy way of applying that to a list 2018-11-07T13:56:03Z elly: in racket there's andmap/ormap but I don't think there's anything in r7rs 2018-11-07T13:56:16Z elly: andmap has precisely the semantics you mean 2018-11-07T13:56:20Z dTal: I suppose I shouldn't really be generating the entire list to begin with 2018-11-07T13:56:27Z dTal: ah, thanks 2018-11-07T13:56:53Z elly: oh, actually, SRFI-1 has 'every' and 'any' 2018-11-07T13:56:57Z dTal: it seems to be very common that the answer to my queries is either 'write it yourself' or 'use racket' 2018-11-07T13:57:01Z elly: those may be what you want 2018-11-07T13:57:08Z dTal: ahhh 2018-11-07T13:57:20Z dTal: I keep hitting things found in srfi-1 2018-11-07T13:57:28Z elly: srfi-1 is a very useful library! 2018-11-07T13:57:40Z dTal: I've been trying to keep it pure but it looks like I'm just hurting myself 2018-11-07T13:57:44Z elly: core scheme is deliberately a very small language and it's expected that for practical programs you will be using some SRFIs 2018-11-07T13:57:46Z LeoNerd: It's 1 for a reason ;) 2018-11-07T13:57:46Z dTal: had to write iota the other day 2018-11-07T13:58:02Z elly: you *can* do that if you want (just use the base language) but you'll find yourself reimplementing some SRFIs 2018-11-07T13:58:11Z dTal: fair enough 2018-11-07T13:58:16Z dTal: right, thanks guys 2018-11-07T13:58:20Z dTal: gotta run 2018-11-07T13:58:22Z elly: which can be illuminating if you are new to scheme but is generally a waste of time and space if you aren't 2018-11-07T13:58:26Z elly: no worries, good luck 2018-11-07T13:58:29Z ecraven: dTal: which Scheme do you use? 2018-11-07T14:12:29Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-07T14:19:05Z InverseRhombus joined #scheme 2018-11-07T14:31:06Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-07T14:53:04Z grettke joined #scheme 2018-11-07T14:57:55Z TheGreekOwl joined #scheme 2018-11-07T14:59:46Z dbmikus_ joined #scheme 2018-11-07T15:23:24Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-07T15:31:37Z skapata quit (Quit: Ĝis!) 2018-11-07T15:32:19Z Guest64697 quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-07T15:32:50Z ogamita joined #scheme 2018-11-07T15:33:49Z razzy quit (Ping timeout: 268 seconds) 2018-11-07T15:44:00Z Inline joined #scheme 2018-11-07T15:45:50Z ogamita quit (Read error: No route to host) 2018-11-07T15:49:36Z ogamita joined #scheme 2018-11-07T15:53:34Z jao joined #scheme 2018-11-07T15:54:45Z ggole quit (Quit: ggole) 2018-11-07T16:04:57Z Zaab1t joined #scheme 2018-11-07T16:06:26Z eddof13 joined #scheme 2018-11-07T16:06:48Z eddof13 quit (Client Quit) 2018-11-07T16:08:37Z ogamita quit (Read error: No route to host) 2018-11-07T16:11:15Z smazga joined #scheme 2018-11-07T16:12:19Z ogamita joined #scheme 2018-11-07T16:16:39Z eddof13 joined #scheme 2018-11-07T16:18:54Z Inline quit (Remote host closed the connection) 2018-11-07T16:25:28Z Inline joined #scheme 2018-11-07T16:26:04Z ogamita quit (Quit: Good night!) 2018-11-07T16:32:18Z robotoad joined #scheme 2018-11-07T16:42:46Z nly quit (Read error: Connection reset by peer) 2018-11-07T16:58:12Z razzy joined #scheme 2018-11-07T16:59:22Z dbmikus_ quit (Quit: WeeChat 2.3) 2018-11-07T16:59:42Z dbmikus joined #scheme 2018-11-07T17:00:42Z pie_ joined #scheme 2018-11-07T17:04:32Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-07T17:06:33Z grettke joined #scheme 2018-11-07T17:08:45Z pie_ quit (Remote host closed the connection) 2018-11-07T17:09:12Z pie_ joined #scheme 2018-11-07T17:21:11Z razzy quit (Remote host closed the connection) 2018-11-07T17:21:26Z razzy joined #scheme 2018-11-07T17:25:12Z nilg joined #scheme 2018-11-07T17:26:06Z DGASAU quit (Ping timeout: 276 seconds) 2018-11-07T17:29:52Z ski: dTal : if `(apply and (map predicate a-list))' had worked, you'd not get short-circuiting behaviour in that `predicate' would be called on every element of `list', regardless of possible early failure 2018-11-07T17:31:55Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-07T17:35:36Z ski: (in fact, you can get that to "work", by replacing `(apply and (...))' by `((lambda (truthy-values) (reduce-right (lambda (truthy-0 truthy-1) (and truthy-0 truthy-1)) #t truthy-values)) (...))', but it wouldn't be sensible to do so) 2018-11-07T17:37:23Z DGASAU joined #scheme 2018-11-07T17:37:46Z razzy quit (Ping timeout: 268 seconds) 2018-11-07T17:39:04Z klovett quit 2018-11-07T17:45:43Z vyzo joined #scheme 2018-11-07T17:58:26Z razzy joined #scheme 2018-11-07T18:08:18Z razzy quit (Ping timeout: 252 seconds) 2018-11-07T18:18:25Z zachk joined #scheme 2018-11-07T18:19:25Z zachk quit (Read error: Connection reset by peer) 2018-11-07T18:19:47Z zachk joined #scheme 2018-11-07T18:20:44Z klovett joined #scheme 2018-11-07T18:22:54Z klovett_ joined #scheme 2018-11-07T18:23:15Z zachk quit (Changing host) 2018-11-07T18:23:15Z zachk joined #scheme 2018-11-07T18:26:42Z klovett quit (Ping timeout: 272 seconds) 2018-11-07T18:27:15Z amz3 joined #scheme 2018-11-07T18:39:42Z nilg quit (Remote host closed the connection) 2018-11-07T19:18:47Z pierpal quit (Ping timeout: 240 seconds) 2018-11-07T19:25:11Z razzy joined #scheme 2018-11-07T19:28:34Z pierpal joined #scheme 2018-11-07T19:35:12Z pierpal quit (Ping timeout: 252 seconds) 2018-11-07T19:40:34Z jcowan: Chicken 5 is released! Tremendous congratulations to everyone involved. 2018-11-07T19:42:51Z deuill: Whooop whoop! Now to see if it compiles on QNX like 4.13 does 2018-11-07T19:46:15Z yumh quit (Quit: ZNC - https://znc.in) 2018-11-07T19:47:29Z pierpal joined #scheme 2018-11-07T20:03:27Z pierpal quit (Ping timeout: 240 seconds) 2018-11-07T20:04:06Z amz3: time to dance \\o \o/ o// 2018-11-07T20:07:25Z nilg joined #scheme 2018-11-07T20:13:38Z oni-on-ion: whats chicken 2018-11-07T20:17:33Z acarrico quit (Ping timeout: 252 seconds) 2018-11-07T20:18:23Z amz3: a scheme implementation 2018-11-07T20:20:23Z amz3: http://lists.nongnu.org/archive/html/chicken-users/2018-11/msg00006.html 2018-11-07T20:21:11Z lritter quit (Ping timeout: 268 seconds) 2018-11-07T20:27:18Z ski . o O ( "Cheney on the M.T.A." by Henry G. Baker in 1994-02-04 at ) 2018-11-07T20:33:01Z InverseRhombus joined #scheme 2018-11-07T20:39:08Z m1dnight_ quit (Quit: WeeChat 2.2) 2018-11-07T20:39:36Z m1dnight_ joined #scheme 2018-11-07T20:47:20Z greghendershott quit (Read error: Connection reset by peer) 2018-11-07T20:47:33Z greghendershott joined #scheme 2018-11-07T20:47:43Z cemerick quit (Ping timeout: 252 seconds) 2018-11-07T20:47:43Z ec quit (Ping timeout: 252 seconds) 2018-11-07T20:47:43Z scroll2_ quit (Ping timeout: 252 seconds) 2018-11-07T20:47:43Z rjungemann quit (Ping timeout: 252 seconds) 2018-11-07T20:47:43Z duncanm quit (Ping timeout: 252 seconds) 2018-11-07T20:47:53Z samth quit (Read error: Connection reset by peer) 2018-11-07T20:48:16Z sz0 quit (Ping timeout: 252 seconds) 2018-11-07T20:48:32Z cemerick joined #scheme 2018-11-07T20:48:33Z samth joined #scheme 2018-11-07T20:48:38Z samth quit (Changing host) 2018-11-07T20:48:38Z samth joined #scheme 2018-11-07T20:49:10Z duncanm joined #scheme 2018-11-07T20:49:10Z rudybot: la la la 2018-11-07T20:49:10Z ec joined #scheme 2018-11-07T20:49:11Z sz0 joined #scheme 2018-11-07T20:49:13Z rjungemann joined #scheme 2018-11-07T20:49:53Z scroll2_ joined #scheme 2018-11-07T20:50:03Z snits quit (Ping timeout: 245 seconds) 2018-11-07T20:50:56Z snits joined #scheme 2018-11-07T20:51:32Z skapata joined #scheme 2018-11-07T20:53:52Z Zaab1t quit (Quit: bye bye friends) 2018-11-07T20:55:39Z Ober: yeah... perhaps it has scaling issues irl 2018-11-07T20:56:51Z Zipheir joined #scheme 2018-11-07T20:57:24Z cemerick quit 2018-11-07T20:57:39Z cemerick joined #scheme 2018-11-07T20:57:58Z jao quit (Ping timeout: 245 seconds) 2018-11-07T20:58:26Z grettke quit (Quit: "Ever has it been that love knows not its own depth until the hour of separation.") 2018-11-07T20:59:28Z grettke joined #scheme 2018-11-07T21:05:33Z pjb joined #scheme 2018-11-07T21:13:34Z nilg quit (Remote host closed the connection) 2018-11-07T21:31:24Z acarrico joined #scheme 2018-11-07T21:35:27Z elderK joined #scheme 2018-11-07T21:44:26Z daviid quit (Ping timeout: 268 seconds) 2018-11-07T21:46:18Z jao joined #scheme 2018-11-07T21:50:03Z acarrico quit (Ping timeout: 245 seconds) 2018-11-07T21:50:21Z InverseRhombus quit (Remote host closed the connection) 2018-11-07T22:01:31Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-07T22:06:09Z jcowan: DURNIT ALL SCHEME REPLS SHOULD SUPPORT *PRINT-BASE* DURNIT 2018-11-07T22:07:41Z Ober: is that a clism? 2018-11-07T22:11:13Z klovett joined #scheme 2018-11-07T22:14:42Z klovett_ quit (Ping timeout: 252 seconds) 2018-11-07T22:17:36Z DGASAU joined #scheme 2018-11-07T22:18:50Z jcowan: yes 2018-11-07T22:19:02Z jcowan: I really really want to see bytevectors in hex 2018-11-07T22:20:17Z oni-on-ion: TIL scheme is greek 2018-11-07T22:23:06Z ski: ? 2018-11-07T22:25:31Z gnomon: ? 2018-11-07T22:30:31Z klovett quit 2018-11-07T22:35:36Z hive-mind quit (Ping timeout: 272 seconds) 2018-11-07T22:36:54Z hive-mind joined #scheme 2018-11-07T22:39:56Z jcowan: The word "scheme" is of Greek origin, yes. 2018-11-07T22:40:05Z jcowan: from Ancient Greek σχῆμα (skhêma, “form, shape”), from ἔχω (ékhō, “I hold”), saith Wiktionary 2018-11-07T22:40:48Z pierpal joined #scheme 2018-11-07T22:46:29Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-07T22:58:46Z acarrico joined #scheme 2018-11-07T23:00:54Z johnvonneuman_ quit (Ping timeout: 252 seconds) 2018-11-07T23:02:57Z mejja joined #scheme 2018-11-07T23:03:01Z pierpal quit (Ping timeout: 252 seconds) 2018-11-07T23:04:16Z daviid joined #scheme 2018-11-07T23:12:27Z badkins quit (Ping timeout: 252 seconds) 2018-11-07T23:14:34Z pierpal joined #scheme 2018-11-07T23:18:41Z pierpal quit (Ping timeout: 244 seconds) 2018-11-07T23:24:28Z zachk quit (Remote host closed the connection) 2018-11-07T23:24:55Z zachk joined #scheme 2018-11-07T23:28:38Z pierpal joined #scheme 2018-11-07T23:30:28Z zachk quit (Read error: Connection reset by peer) 2018-11-07T23:31:00Z zachk joined #scheme 2018-11-07T23:33:42Z InverseRhombus joined #scheme 2018-11-07T23:34:33Z Zipheir: So we speak not of different Schemes, but of Schemata. 2018-11-07T23:34:45Z Zipheir: (with apologies to Immanuel Kant) 2018-11-07T23:38:43Z klovett joined #scheme 2018-11-07T23:47:45Z pierpal quit (Read error: Connection reset by peer) 2018-11-07T23:48:20Z badkins joined #scheme 2018-11-07T23:51:45Z Ober: outside the Noumena? 2018-11-07T23:52:43Z Ober: Lambda is from Lamedh, meaning cattle prod. 2018-11-07T23:57:11Z brendyn joined #scheme 2018-11-07T23:57:52Z Zipheir: Cattle Prod: The Ultimate Goto 2018-11-07T23:58:01Z johnvonneuman joined #scheme 2018-11-08T00:00:24Z mejja: rudybot: In Kantian philosophy, a transcendental schema is the procedural rule by which a category or pure, non-empirical concept is associated with a sense impression. 2018-11-08T00:01:13Z rudybot: mejja: Geistesgeschichte, Hegelian idea, Kantian idea, Platonic form, ..[Type ,more] 2018-11-08T00:01:36Z robotoad quit (Quit: robotoad) 2018-11-08T00:02:25Z smazga quit (Quit: leaving) 2018-11-08T00:05:07Z pierpal joined #scheme 2018-11-08T00:07:45Z pierpal quit (Read error: Connection reset by peer) 2018-11-08T00:07:55Z pierpal joined #scheme 2018-11-08T00:13:03Z dbmikus quit (Ping timeout: 268 seconds) 2018-11-08T00:18:06Z terpri quit (Ping timeout: 244 seconds) 2018-11-08T00:18:36Z Ober: b 2018-11-08T00:18:43Z robotoad joined #scheme 2018-11-08T00:20:07Z pjb quit (Read error: Connection reset by peer) 2018-11-08T00:26:06Z robotoad quit (Quit: robotoad) 2018-11-08T00:41:33Z brendyn quit (Ping timeout: 252 seconds) 2018-11-08T00:58:07Z eddof13 quit (Quit: eddof13) 2018-11-08T00:58:58Z eddof13 joined #scheme 2018-11-08T01:04:07Z mejja: Riastradh, ;The object 16, passed as the second argument to bytevector-u8-ref, is not in the correct range. 2018-11-08T01:21:43Z eddof13 quit (Quit: eddof13) 2018-11-08T01:22:34Z keep_learning joined #scheme 2018-11-08T01:23:57Z lyf[kde] joined #scheme 2018-11-08T01:24:12Z zachk quit (Quit: Leaving) 2018-11-08T01:25:41Z keep_learning quit (Client Quit) 2018-11-08T01:26:31Z lyf[kde]: How is The Seasoned Schemer? How useful is it for learning functional programming? 2018-11-08T01:33:47Z Ober: very cool imho. 2018-11-08T01:33:51Z Ober: it got me off CL 2018-11-08T01:35:42Z lyf[kde]: Daily bashing of CL 2018-11-08T01:36:48Z Zenton quit (Read error: Connection reset by peer) 2018-11-08T01:37:04Z Zenton joined #scheme 2018-11-08T01:37:20Z aeth: Speaking of CL, hopefully this December I'll have the time to put in a concentrated effort to release cl-scheme (working title, if I give the real name someone will take the domain name) 2018-11-08T01:37:36Z lyf[kde]: Common Scheme 2018-11-08T01:37:42Z Ober: is that CL on scheme? or scheme on CL? 2018-11-08T01:38:10Z aeth: Ober: Scheme on CL. CL projects often start with cl-foo 2018-11-08T01:38:24Z Ober: only in quicklisp :P 2018-11-08T01:38:33Z gwatt: aeth: why not get the domain name now and avoid that pain? 2018-11-08T01:38:52Z aeth: gwatt: Experience has taught me not to register a domain name without something solid first because everything takes much longer than I estimate 2018-11-08T01:38:56Z Ober: well after r9rs.org got stolen from him, he learned his lesson 2018-11-08T01:39:21Z lyf[kde] quit (Remote host closed the connection) 2018-11-08T01:40:49Z aeth: Ober: the way to handle those sorts of things where you have a very clear "sequel" so someone can take r15rs or whatever is to just use subdomains 2018-11-08T01:40:53Z aeth: like r9rs.rnrs.org 2018-11-08T01:41:09Z gwatt: Huh, r9rs.org goes to sbcl.org 2018-11-08T01:41:29Z aeth: The inter-Lisp rivalry can be amusing sometimes 2018-11-08T01:42:07Z mejja: Riastradh: (random-bytevector 1088) 2018-11-08T01:42:59Z aeth: Ober: anyway, Scheme on CL is much more useful than CL on Scheme because Scheme on SBCL instantly gives you access to a lot of "free" performance without the extreme mismatch of targeting something like C 2018-11-08T01:43:14Z mejja: bs. 2018-11-08T01:43:18Z Zipheir: Hah 2018-11-08T01:44:15Z aeth: You mostly need to handle tail recursion, a separate false value from '(), and continuations. 2018-11-08T01:45:18Z mejja: aeth, Cobol Lisp on Scheme 1990: https://github.com/tinysun212/bbn_cl/tree/master/bbn_cl 2018-11-08T01:46:11Z aeth: mejja: Looks like 50% C to me 2018-11-08T01:46:49Z mejja: It's CL on mit-scheme 2018-11-08T01:47:56Z aeth: mejja: anyway, if you are going to mix CL and Scheme, writing a Scheme on top of SBCL is probably going to be the fastest combination of the two languages in one runtime. 2018-11-08T01:48:08Z aeth: At least given the current implementations 2018-11-08T01:48:56Z mejja: please... 2018-11-08T01:50:27Z keep_learning joined #scheme 2018-11-08T01:50:52Z Zipheir: Implement CL on Stalin, maybe. 2018-11-08T01:51:13Z aeth: Implementing a CL on Scheme with performance in mind would probably require implementing a Scheme first 2018-11-08T01:51:24Z aeth: At that point I might as well just implement Scheme on CL 2018-11-08T01:52:12Z Ober: aeth: yeah I'm curious how fast it would be on sbcl. it has a ton of optimizations. 2018-11-08T01:52:14Z aeth: SBCL would be very hard to beat. 2018-11-08T01:52:28Z Ober: except in areas of memory usage, and gc performance :P 2018-11-08T01:52:31Z aeth: Beating popular Schemes (although maybe not Stalin) should be doable with an SBCL target 2018-11-08T01:52:45Z mejja: beating sbcl is a pice of cake. 2018-11-08T01:52:53Z aeth: And, yes, SBCL *absolutely* uses memory as its tradeoff 2018-11-08T01:53:03Z aeth: Very heavy there 2018-11-08T01:54:08Z keep_learning quit (Client Quit) 2018-11-08T01:54:12Z aeth: mejja: I mean... challenge accepted? I'm going to run https://ecraven.github.io/r7rs-benchmarks/ as soon as I have r7rs working and see how it does 2018-11-08T01:54:25Z amz3 quit (Ping timeout: 246 seconds) 2018-11-08T01:54:37Z Ober: and #+sbcl (gc :full t) ;;ard won't help 2018-11-08T01:55:04Z aeth: mejja: Note that I could actually beat hand-written CL on SBCL if I put enough effort into it because I can do things like put everything in one file (or even function!) for maximum compilation performance, whereas CL has a model that makes global optimizations hard. 2018-11-08T01:56:54Z Ober: fast cl is pretty ugly as well 2018-11-08T01:56:54Z mejja: Bla bla bla Cobol Lisp .. 2018-11-08T01:56:55Z acarrico quit (Ping timeout: 240 seconds) 2018-11-08T01:56:55Z Ober: e.g. ironclad 2018-11-08T01:56:55Z mejja: Itäs dead kid! 2018-11-08T01:57:38Z aeth: Ober: A sufficiently complicated macro or reader macro could make for a pleasing interface. (I guess this is a case of it? The Scheme's reader could be run as a reader macro!) 2018-11-08T01:58:05Z acarrico joined #scheme 2018-11-08T02:00:37Z mejja: aeth, btw, challenge accepted! 2018-11-08T02:01:49Z Zipheir: mejja: Please don't implement another CL :) 2018-11-08T02:02:39Z aeth: I mean, r7rs-small is a much easier thing to implement than standards-compliant HyperSpec CL 2018-11-08T02:02:59Z aeth: So you're just commiting to a multi-year project. 2018-11-08T02:05:17Z daviid quit (Ping timeout: 268 seconds) 2018-11-08T02:10:41Z Riastradh: mejja: Heh, oops. 2018-11-08T02:12:00Z aeth: r7rs-small has a shockingly small amount of actual syntax and the rest is defined in §7.3 2018-11-08T02:12:32Z aeth: So you get most of the way there with continuations, hygienic macros, and a reader 2018-11-08T02:13:03Z mejja: Cobol Lisp is smaller. (because it is DEAD) 2018-11-08T02:13:29Z aeth: Oh, I said what I said because most of §6 is trivial with CL as the host language 2018-11-08T02:13:51Z Riastradh: mejja: fixed 2018-11-08T02:13:52Z aeth: especially before §6.10 2018-11-08T02:14:23Z mejja: rudybot, Cobol Lisp is Dead! Worms, maggots & flies 2018-11-08T02:14:32Z rudybot: mejja: "I'm glad I use Dial / It not only kills germs / But rids my whole body / Of maggots and worms" 2018-11-08T02:14:35Z Ober: aeth: sbcl is a lot faster in some areas, but often it also felt fragile compared to ccl/LW/ACL 2018-11-08T02:15:28Z Zipheir: rudybot: Eww. 2018-11-08T02:15:29Z rudybot: Zipheir: eww 2018-11-08T02:15:40Z aeth: Ober: I don't get that impression. SBCL seems like the easiest CL implementation to introspect, benchmark, profile, debug in SLIME, disassemble, etc., and generally figure out what's going on. 2018-11-08T02:16:50Z aeth: (Apparently someone has gotten a Scheme to run in SLIME?) 2018-11-08T02:18:20Z amz3 joined #scheme 2018-11-08T02:19:12Z Riastradh: Heh. I got Scheme48 and SLIME hooked up quite nicely a decade ago, but of course it's all bitrotted at this point. 2018-11-08T02:19:46Z Riastradh: Allegedly MIT Scheme can be made to talk to SLIME but I've never tried it. 2018-11-08T02:22:26Z Riastradh: https://mumble.net/~campbell/images/slime48-porn.png 2018-11-08T02:22:32Z skapata quit (Remote host closed the connection) 2018-11-08T02:26:46Z aeth: "CL-USER>" 2018-11-08T02:27:11Z aeth: yes, yes, I'm totally a CL-USER, you can trust me, SLIME 2018-11-08T02:27:13Z Riastradh: Heh. That was probably the first screenshot I took. 2018-11-08T02:27:26Z Riastradh: Later it appears I adjusted the prompt. 2018-11-08T02:32:08Z khisanth_ quit (Ping timeout: 245 seconds) 2018-11-08T02:38:09Z johnvonneuman quit (Ping timeout: 252 seconds) 2018-11-08T02:44:23Z oni-on-ion: is CL particularily harder to treeshake than schemes where it ... schemes more common? =) 2018-11-08T02:45:41Z khisanth_ joined #scheme 2018-11-08T02:48:33Z lockywolf joined #scheme 2018-11-08T02:52:55Z robotoad joined #scheme 2018-11-08T02:58:17Z jcowan: No implementation is what I would call *good* at treeshaking. 2018-11-08T02:59:20Z jcowan: In Stalin you do "reverse treeshaking"; you prepend the standard routines you actually want to your program, and Stalin compiles them along with your code. 2018-11-08T03:00:09Z jcowan: Only 9 people showed up for the talk, but they asked good questions and had some interestiung suggestions. 2018-11-08T03:00:20Z jcowan: I asked for a show of hands about many of the docketed features. 2018-11-08T03:00:31Z jcowan: I am within epsilon of sending out the CFV. 2018-11-08T03:05:32Z DGASAU quit (Read error: Connection reset by peer) 2018-11-08T03:06:22Z oni-on-ion: o_o in-person meetup talk ? 2018-11-08T03:06:50Z oni-on-ion: chez has some kind of pruning/shaking , uninformed of much else beyond the surfaces 2018-11-08T03:08:43Z Zipheir: jcowan: Looking at the sketch for Maybe/Either, how do you envision either-ref/default working? 2018-11-08T03:09:23Z jcowan: If it's a Right we unwrap it and return the innards, but if it's a Left we return the default instead. 2018-11-08T03:09:45Z jcowan: (Either is inherently asymmetrical; Right represents a value, Left an error condition.) 2018-11-08T03:10:25Z jcowan: getOrElse in Scala 2018-11-08T03:10:31Z acarrico quit (Ping timeout: 252 seconds) 2018-11-08T03:10:35Z Zipheir: Ah, that makes sense. I couldn't see how it could be meaningfully symmetrical. 2018-11-08T03:10:38Z jcowan: In-person talk, yes. 2018-11-08T03:11:12Z oni-on-ion: a very thorough and interesting set of articles (7+) of comparisons with CL and haskell -> https://hyotang666.github.io/index.html 2018-11-08T03:12:25Z oni-on-ion: hmm. i was thinking of starting a tech talk here or meetup locally (weekly or monthly) because there is not much going on except general tech 2018-11-08T03:14:07Z Zipheir: jcowan: (nothing) is going to be #f, correct? Does that mean that (maybe? #f) -> #t ? 2018-11-08T03:16:04Z aeth: oni-on-ion: afaik the part that makes CL hard to tree-shake is CLOS 2018-11-08T03:16:17Z aeth: CL is also a pretty dynamic language while Scheme doesn't really take a stance on that sort of thing afaik 2018-11-08T03:16:23Z oni-on-ion: (define (maybeof a) (if (not? a) (a . #t) #f)) 2018-11-08T03:16:44Z aeth: (By dynamic I mean anything can be redefined at any time) 2018-11-08T03:16:52Z oni-on-ion: aeth: ohhh, i see. makes sense - got to keep the compiler around for MOPping around =) 2018-11-08T03:16:58Z oni-on-ion: mhm 2018-11-08T03:17:53Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-08T03:20:33Z Zipheir: oni-on-ion: What's maybeof supposed to be? 2018-11-08T03:20:43Z ski: (the (`Functor' and) `Applicative' and `Monad' instances are asymmetrical, with `Left' signalling an exception. one can also use it symmetrically, to represent two alternatives) 2018-11-08T03:21:27Z lockywolf_ joined #scheme 2018-11-08T03:22:37Z ski: (the 2006-02-03 entry "Option types, optional parameters" at re "domain contagion" may be interesting, re `maybe'/`option') 2018-11-08T03:24:21Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-08T03:24:33Z DGASAU joined #scheme 2018-11-08T03:26:02Z Zipheir: "The conflation of the false constant and the empty list in old, crufty Lisps..." Heh. 2018-11-08T03:28:05Z Zipheir: ski: I'm just trying to think about how https://bitbucket.org/cowan/r7rs-wg1-infra/src/86ae3066905c5884f8430d6a38ccab1fcbf5e1e9/MaybeEither.md is going to work. It is of course not a specification. 2018-11-08T03:31:31Z mejja quit (Quit: mejja) 2018-11-08T03:38:03Z lockywolf__ joined #scheme 2018-11-08T03:38:06Z TheGreekOwl quit (Ping timeout: 252 seconds) 2018-11-08T03:40:30Z lockywolf_ quit (Ping timeout: 252 seconds) 2018-11-08T03:45:38Z jcowan: Zipheir: I realized that Nothing can't be #f, because (just #f) has to be different from Nothing, whereas (just (nothing)) = nothing, because Maybe is self-flattening 2018-11-08T03:45:48Z jcowan: by the same token, (just (just x)) = (just x) 2018-11-08T03:46:16Z jcowan: so Nothing is a singleton distinct from all others. 2018-11-08T03:46:52Z Zipheir: Ah, OK. 2018-11-08T03:47:19Z ski: why should it be self-flattening ? 2018-11-08T03:48:36Z keep_learning joined #scheme 2018-11-08T03:51:21Z keep_learning quit (Client Quit) 2018-11-08T03:52:34Z ski: if i use `(let ((x (nothing))) (maybe-bind (just x) (lambda (y) (just "foo"))))', i'd expect to get back an equivalent value as from `(just "foo")', not as from `(nothing)' 2018-11-08T03:54:13Z ski: (because one of the three monadic laws (expressed in terms of the `maybe' ops) says that `(maybe-bind (just x) k)' ought to be equivalent to `(k x)' .. regardless of what value `x' is bound to) 2018-11-08T03:56:53Z ski: (hm, as for `(just (just x))' being equivalent to `(just x)', i think that would fail `(let ((x (just 42))) (maybe-bind (just x) (lambda (y) (just (list y)))))' being equivalent to `(just (list (just 42)))' (by the same law)) 2018-11-08T04:02:43Z oni-on-ion: if you make a maybe with a maybe type already it just returns it (constant) 2018-11-08T04:02:51Z oni-on-ion: (effectively) 2018-11-08T04:04:16Z ski: yes, that's what i'm objecting to 2018-11-08T04:05:21Z keep_learning joined #scheme 2018-11-08T04:07:43Z ski: (this can also be seen as a case of "domain contagion". the idea is that if you have some set of values which `x' can assume, then if `y' can be either `(nothing)' or `(just x)', then the set of values that `y' can assume should be "one element larger", it should include representations of the values that `x' could assume, and in addition include the representation of `(nothing)'. hm, another way to state my objection would be that `nothing' and `just' are s 2018-11-08T04:08:09Z ski: (hrm, that probably got cut off near ".. hm, another way to state my objection would be that nothing' and `just' are supposed to be disjoint, and `just' is supposed to be injective)") 2018-11-08T04:08:33Z keep_learning quit (Client Quit) 2018-11-08T04:13:08Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T04:19:52Z lockywolf__ quit (Ping timeout: 264 seconds) 2018-11-08T04:21:45Z DGASAU quit (Ping timeout: 252 seconds) 2018-11-08T04:22:05Z pie_ quit (Remote host closed the connection) 2018-11-08T04:22:13Z pie__ joined #scheme 2018-11-08T04:22:27Z DGASAU joined #scheme 2018-11-08T04:24:04Z Inline quit (Ping timeout: 264 seconds) 2018-11-08T04:27:17Z keep_learning joined #scheme 2018-11-08T04:30:33Z keep_learning quit (Client Quit) 2018-11-08T04:31:10Z Zipheir: ski: Good points. 2018-11-08T04:33:09Z Zipheir: ski: It does seem that self-flattening maybe violates the left unit monad law. 2018-11-08T04:42:52Z oni-on-ion: its empty recursion, self-flattening is a common effect 2018-11-08T05:23:09Z jao quit (Ping timeout: 252 seconds) 2018-11-08T05:31:11Z piccolo quit (Remote host closed the connection) 2018-11-08T05:31:16Z keep_learning joined #scheme 2018-11-08T05:34:09Z averell quit (Ping timeout: 252 seconds) 2018-11-08T05:37:47Z averell joined #scheme 2018-11-08T05:43:41Z oni-on-ion: btw about maybe/either for CL, see bottom of page: https://hyotang666.github.io/archives/cl-vs-haskell.7.html 2018-11-08T06:03:20Z Zipheir: That's some ugly lisp. 2018-11-08T06:05:14Z Zipheir: Well, I guess the whole page is like that, since you've got to build the [type]classes manually. 2018-11-08T06:12:01Z oni-on-ion: what is ugly about it? 2018-11-08T06:26:24Z Zipheir: It's not so bad. CL is just gross. 2018-11-08T06:27:47Z Ober: fast cl always is 2018-11-08T06:32:19Z vyzo quit (Quit: Leaving.) 2018-11-08T06:33:36Z oni-on-ion: ah, oops i read "ugly lisp" as "ugly CL" =) 2018-11-08T06:34:54Z Zipheir: Yes, because CL is the only Lisp that matters. At least, this is what CLers repeat ad nauseum. :p 2018-11-08T06:38:32Z oni-on-ion: ^ that 2018-11-08T06:40:12Z Zipheir: It is slightly amusing how the CL community keeps using 'Lisp' to mean CL--lisp-lang.org, #lisp, lots of books... 2018-11-08T06:41:00Z oni-on-ion: yeap. its the kind of CNN and FOX levels 2018-11-08T06:43:17Z Zipheir: Zombie John McCarthy should start a trademark dispute. 2018-11-08T06:45:22Z skapata joined #scheme 2018-11-08T07:10:12Z Ober: Anything that is Common, is of little value. -Nietzsche 2018-11-08T07:16:40Z oni-on-ion: ^_^_^ 2018-11-08T07:16:56Z oni-on-ion: / 2018-11-08T07:24:52Z erkin: I guess it's not just their fault. They simply picked up the name and used it. Nobody says "Scheme Lisp" or "Clojure Lisp" 2018-11-08T07:25:16Z erkin: Or "Racket Scheme" for that matter. ;-) 2018-11-08T07:30:54Z Ober: http://islisp.info/faq.html the answer to the first question seems lost on them 2018-11-08T07:34:52Z aeth: Well, people like to abbreviate and they weren't going to shorten it Common. 2018-11-08T07:35:25Z aeth: Personally, though, I think we should call Scheme r7 2018-11-08T07:42:59Z edgar-rft quit (Quit: Leaving) 2018-11-08T07:46:58Z Ober: a "lisp 3" 2018-11-08T07:58:51Z oni-on-ion: =) 2018-11-08T07:59:30Z oni-on-ion: file extensions - .scm? i like .lisp but i have been using .cl for CL (because there are a lot of .?l extensions and i grew rather fond) 2018-11-08T08:00:51Z Riastradh: Finally got rid of the annoying trap-by-default behaviour for floating-point exceptions in MIT Scheme. (You can still turn it on if you want, at whatever granularity you want in your program, or you can just test the exception flags at the end of a computation without trapping.) 2018-11-08T08:14:07Z amz3 quit (Ping timeout: 252 seconds) 2018-11-08T08:16:46Z copec quit (Excess Flood) 2018-11-08T08:17:05Z copec joined #scheme 2018-11-08T08:21:50Z bor0 joined #scheme 2018-11-08T08:21:57Z ski: hm, i think PLT Scheme^W^WRacket has also used `*.ss' ? 2018-11-08T08:22:14Z enderby joined #scheme 2018-11-08T08:23:16Z wasamasa: so does chez 2018-11-08T08:23:42Z wasamasa: I've once seen someone use .csc, guess for what implementation 2018-11-08T08:23:52Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-08T08:24:08Z Riastradh: Don't forget .sch! 2018-11-08T08:24:27Z wasamasa: and .sld 2018-11-08T08:24:42Z aeth: But what does a sled have to do with Scheme? 2018-11-08T08:24:56Z wasamasa: it's presumably a scheme library definition 2018-11-08T08:28:00Z Riastradh: rudybot: eval nan.0 2018-11-08T08:28:01Z rudybot: Riastradh: error: nan.0: undefined; cannot reference an identifier before its definition in module: 'program 2018-11-08T08:28:04Z Riastradh: rudybot: eval +nan.0 2018-11-08T08:28:04Z rudybot: Riastradh: ; Value: +nan.0 2018-11-08T08:29:48Z m1dnight_ quit (Ping timeout: 252 seconds) 2018-11-08T08:43:44Z m1dnight_ joined #scheme 2018-11-08T08:44:57Z pierpal quit (Quit: Poof) 2018-11-08T08:48:44Z klovett_ joined #scheme 2018-11-08T08:50:19Z ogamita joined #scheme 2018-11-08T08:52:09Z klovett quit (Ping timeout: 252 seconds) 2018-11-08T08:52:58Z oni-on-ion: ah yeah im using ss 2018-11-08T08:55:13Z civodul joined #scheme 2018-11-08T09:24:36Z bor0 quit (Quit: This computer has gone to sleep) 2018-11-08T09:33:47Z bug2000 joined #scheme 2018-11-08T09:35:56Z bor0 joined #scheme 2018-11-08T09:39:45Z keep_learning quit (Remote host closed the connection) 2018-11-08T09:50:12Z edgar-rft joined #scheme 2018-11-08T09:51:36Z ogamita` joined #scheme 2018-11-08T09:52:06Z ogamita quit (Ping timeout: 252 seconds) 2018-11-08T10:09:08Z ogamita` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-08T10:09:45Z ogamita joined #scheme 2018-11-08T10:32:32Z bor0 quit (Quit: Leaving) 2018-11-08T10:36:06Z pie__ quit (Ping timeout: 252 seconds) 2018-11-08T10:47:36Z InverseRhombus quit (Ping timeout: 268 seconds) 2018-11-08T10:53:43Z lritter joined #scheme 2018-11-08T11:01:16Z pie_ joined #scheme 2018-11-08T11:05:42Z pie_ quit (Ping timeout: 252 seconds) 2018-11-08T11:14:46Z ogamita quit (Ping timeout: 246 seconds) 2018-11-08T11:32:00Z chingy_ joined #scheme 2018-11-08T11:49:40Z chingy_ quit (Quit: Leaving) 2018-11-08T12:04:03Z grettke joined #scheme 2018-11-08T12:06:42Z pierpal joined #scheme 2018-11-08T12:10:26Z dbmikus_ joined #scheme 2018-11-08T12:15:31Z dbmikus_ quit (Ping timeout: 260 seconds) 2018-11-08T12:43:48Z acarrico joined #scheme 2018-11-08T12:51:36Z TheGreekOwl joined #scheme 2018-11-08T12:55:12Z elderK quit (Quit: Connection closed for inactivity) 2018-11-08T12:57:52Z lockywolf joined #scheme 2018-11-08T13:06:34Z surya joined #scheme 2018-11-08T13:08:02Z surya quit (Client Quit) 2018-11-08T13:16:59Z xkapastel joined #scheme 2018-11-08T13:40:14Z jcowan joined #scheme 2018-11-08T13:47:03Z jcowan: ski: You're definitely write that self-flattening is a bad idea; I've dropped it. 2018-11-08T13:49:26Z jcowan: But Nothing still needs to be a singleton type 2018-11-08T14:02:01Z m1dnight_ quit (*.net *.split) 2018-11-08T14:02:01Z charh quit (*.net *.split) 2018-11-08T14:02:02Z emar quit (*.net *.split) 2018-11-08T14:02:02Z SirDayBat quit (*.net *.split) 2018-11-08T14:02:02Z turbofail quit (*.net *.split) 2018-11-08T14:02:02Z emma quit (*.net *.split) 2018-11-08T14:02:02Z f32ff quit (*.net *.split) 2018-11-08T14:02:02Z ByronJohnson quit (*.net *.split) 2018-11-08T14:02:02Z erkin quit (*.net *.split) 2018-11-08T14:02:02Z dsp quit (*.net *.split) 2018-11-08T14:02:02Z AhoChan quit (*.net *.split) 2018-11-08T14:02:02Z ski quit (*.net *.split) 2018-11-08T14:02:02Z Labu quit (*.net *.split) 2018-11-08T14:02:02Z z0d quit (*.net *.split) 2018-11-08T14:02:02Z wasamasa quit (*.net *.split) 2018-11-08T14:02:02Z gabot quit (*.net *.split) 2018-11-08T14:02:02Z gnomon quit (*.net *.split) 2018-11-08T14:02:08Z SirDayBa1 joined #scheme 2018-11-08T14:02:10Z emma joined #scheme 2018-11-08T14:02:10Z wasamasa joined #scheme 2018-11-08T14:02:12Z ByronJohnson joined #scheme 2018-11-08T14:02:14Z emma quit (Changing host) 2018-11-08T14:02:14Z emma joined #scheme 2018-11-08T14:02:14Z gnomon joined #scheme 2018-11-08T14:02:16Z wasamasa quit (Changing host) 2018-11-08T14:02:16Z wasamasa joined #scheme 2018-11-08T14:02:17Z f32ff joined #scheme 2018-11-08T14:02:23Z AhoChan joined #scheme 2018-11-08T14:02:30Z z0d joined #scheme 2018-11-08T14:02:35Z AhoChan quit (Changing host) 2018-11-08T14:02:35Z AhoChan joined #scheme 2018-11-08T14:02:43Z erkin joined #scheme 2018-11-08T14:02:44Z m1dnight_ joined #scheme 2018-11-08T14:02:57Z emar joined #scheme 2018-11-08T14:03:13Z erkin quit (Changing host) 2018-11-08T14:03:13Z erkin joined #scheme 2018-11-08T14:03:28Z gabot joined #scheme 2018-11-08T14:03:40Z Labu joined #scheme 2018-11-08T14:07:07Z ski joined #scheme 2018-11-08T14:07:10Z charh joined #scheme 2018-11-08T14:07:15Z dsp joined #scheme 2018-11-08T14:09:42Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-08T14:10:07Z ski: it could be `#f' (or even the empty list) but it could just as well be its own thing 2018-11-08T14:10:38Z ski: (`just' could make a singleton list in that case, i suppose) 2018-11-08T14:15:24Z jcowan: I definitely want Just to be a distinguishable type, so you can have just?. 2018-11-08T14:16:46Z ecraven: (define (just? x) (not (nothing? x))) :P 2018-11-08T14:18:19Z civodul: (define just (let ((x (list 'just))) (lambda () x))) 2018-11-08T14:18:31Z civodul: (define (just? x) (eq? x (just))) 2018-11-08T14:18:34Z civodul: :-) 2018-11-08T14:19:29Z ski: `just' should take an input 2018-11-08T14:19:38Z civodul: yeah right, i was just realizing my silliness 2018-11-08T14:19:48Z civodul: well, define-record-type and all that 2018-11-08T14:21:17Z jcowan: Not only that, but I want just objects to be opaque to the rest of Scheme so you are forced to unwrap them via the API. 2018-11-08T14:21:53Z jcowan: so either a proc or a one-slot record 2018-11-08T14:22:13Z jcowan: but I think a one-slot record is better, because runtime type discrimiation. 2018-11-08T14:24:10Z ski nods 2018-11-08T14:27:41Z jcowan: Indeed, that's the problem with the notion of "applicable records"; a procedure can emulate a record in every point except RTTI, since the only thing you can do with a procedure is invoke it. And having a type of record that is inherently applicable by `apply` requires integrating the idea of records deeply into the Scheme interpreter. 2018-11-08T14:28:04Z jcowan: So I think I'll flush it. 2018-11-08T14:29:31Z jcowan: The best you could do now would be something like (apply (ship-apply ship) ship some-args), which would run the slot in the ship record called 'apply', providing a self/this initial argument and then the actual arguments. A macro to hide this would inherently be a low-level macro, since it would have to assemble the name 'ship-apply' out of 'ship' by string operations. 2018-11-08T14:30:00Z jcowan: and rely on you using a particular convention for the getter 2018-11-08T14:35:05Z ecraven: Riastradh: sorry to bother you, but do you know how to build current mit git? ./Setup.sh && ./configure ... && make don't seem to work 2018-11-08T14:36:14Z klovett joined #scheme 2018-11-08T14:36:35Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T14:39:01Z Zipheir: jcowan: As Just is opaque, maybe it's more symmetrical to have Nothing be a distinct value, rather than the domain-contagion-y #f? Although nothing-as-#f might indeed be useful in some cases. 2018-11-08T14:39:28Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-08T14:41:57Z Zipheir: jcowan: (I know you've already been over this, the thought just occurred that if "one half" of the type is hidden, perhaps it's a good thing that the other be hidden, as well.) 2018-11-08T14:47:38Z gwatt: someone has a monad library for r6rs. (I don't remember if this has been mentioned here) 2018-11-08T14:48:19Z jcowan: I haven't seen it, I'll search for it. 2018-11-08T14:48:20Z gwatt: https://github.com/jhidding/r6rs-monads 2018-11-08T14:53:01Z ski quit (Ping timeout: 260 seconds) 2018-11-08T14:54:09Z jcowan: Looks very minimal, just Maybe and Parser, and a slavish imitation of Haskell to boot. :-) 2018-11-08T14:54:17Z jcowan: The Curse of Lisp strikes 2018-11-08T14:54:20Z Zaab1t joined #scheme 2018-11-08T14:56:59Z ski joined #scheme 2018-11-08T14:57:03Z ski_ joined #scheme 2018-11-08T14:57:29Z grettke joined #scheme 2018-11-08T14:57:49Z ski quit (Client Quit) 2018-11-08T15:03:15Z ski_ left #scheme 2018-11-08T15:04:51Z ski joined #scheme 2018-11-08T15:17:31Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-08T15:20:32Z ski: Zipheir : as long as `(just x)' is distinct from `x' (and from `(nothing)') (and distinct inputs to `just' yield distinct outputs), i don't think having `(nothing)' be `#f' (or empty list) would constitute domain contagion 2018-11-08T15:21:02Z ski: (but for consistency's sake, it's possibly best to keep it distinct as well) 2018-11-08T15:30:23Z InverseRhombus joined #scheme 2018-11-08T15:34:38Z Riastradh: ecraven: If you're building from 9.2, you need to first build with --disable-default-plugins; then you can use the resulting runtime+compiler to build the whole system. 2018-11-08T15:35:08Z dbmikus_ joined #scheme 2018-11-08T15:53:46Z ecraven: Riastradh: I get a lot of uxsig.c:917:9: error: cast between incompatible function types from ‘void (*)(int)’ to ‘void (*)(int, siginfo_t *, void *)’ {aka ‘void (*)(int, struct *, void *)’} [-Werror=cast-function-type] 2018-11-08T15:53:58Z ecraven: Riastradh: might be my gcc is too new? 2018-11-08T15:54:35Z Riastradh: Hmm. 2018-11-08T15:55:01Z klovett_ joined #scheme 2018-11-08T15:55:22Z ecraven: http://ix.io/1rk4 2018-11-08T15:56:07Z Riastradh: For now, you can reconfigure with CFLAGS=-Wno-error=cast-function-type. 2018-11-08T15:56:25Z Riastradh: Is that the only case of that error? 2018-11-08T15:56:43Z ecraven: make stops after encountering it.. make -k, right? 2018-11-08T15:56:48Z Riastradh: Sure, try that. 2018-11-08T15:57:46Z ecraven: Riastradh: unrelated, but do you know whether there are plans to migrate towards an r7rs-style library / module system? 2018-11-08T15:58:05Z Riastradh: Chris has apparently been working on that. I know nothing about it. 2018-11-08T15:58:12Z ecraven: it seems that is the only error when building the microcode 2018-11-08T15:58:28Z klovett quit (Ping timeout: 250 seconds) 2018-11-08T15:59:25Z ecraven: Riastradh: thanks 2018-11-08T16:01:53Z ecraven: this is probably what I need to fix with --disable-default-plugins? "The object #t, passed as an argument to merge-pathnames, is not an object satisfying #[compiled-procedure 13 ("pathnm" #x9) #x1a #x9a8f0a]." 2018-11-08T16:03:22Z dbmikus_ quit (Quit: WeeChat 2.3) 2018-11-08T16:04:00Z dbmikus joined #scheme 2018-11-08T16:08:38Z smazga joined #scheme 2018-11-08T16:12:21Z Riastradh: ecraven: Ughhhh... I saw that recently and did a clean build (from my already-built toolchain) and it went away. 2018-11-08T16:13:58Z ecraven: thanks 2018-11-08T16:19:42Z Riastradh: Fixed the -Wcast-function-types issue by disabling that warning. 2018-11-08T16:19:54Z ecraven: hehe 2018-11-08T16:19:55Z Riastradh: (It is not compatible with various Unix APIs.) 2018-11-08T16:21:20Z Riastradh: Any luck with a fresh build? 2018-11-08T16:21:29Z Riastradh: By the way, you can speed it up with `make -j4' or whatever. 2018-11-08T16:21:38Z ecraven: ah, that works now? nice 2018-11-08T16:21:47Z Riastradh: It has worked for about five years now! 2018-11-08T16:22:02Z ecraven: hehe, I never questioned it not working since it didn't work originally 2018-11-08T16:22:10Z Riastradh: (Some bugs snuck in the past few months but they're being fixed.) 2018-11-08T16:25:14Z ecraven: is it possible to run microcode/scheme so that it actually finds the plugins? 2018-11-08T16:25:34Z ecraven: I tried --prepend-library /path/to/mit-scheme/src but that didn't help 2018-11-08T16:25:40Z Riastradh: I'm not sure. 2018-11-08T16:25:43Z ecraven: i.e. run the entire system without actually installing it 2018-11-08T16:25:48Z Riastradh: No idea how this new plugin stuff works. 2018-11-08T16:25:59Z ecraven: I don't want to break my existing setup, I need to update all my code first :-/ 2018-11-08T16:26:03Z Riastradh: Chris says it's supposed to work. 2018-11-08T16:27:05Z ecraven: ah, ./run-build 2018-11-08T16:27:06Z ecraven: ;) 2018-11-08T16:27:14Z Riastradh: Cool. 2018-11-08T16:27:24Z ecraven: --no-init-file too 2018-11-08T16:27:41Z Riastradh: You needed that to build or you needed that to run? 2018-11-08T16:27:49Z ecraven: to run 2018-11-08T16:27:52Z Riastradh: Hm. 2018-11-08T16:28:01Z Riastradh: Stuff in your init file doesn't work? 2018-11-08T16:28:04Z ecraven: x11 fails with that pathname thing, I'll try to rebuild with the new microcode 2018-11-08T16:28:17Z Riastradh: Yes, you'll need to build with the new system. 2018-11-08T16:28:18Z ecraven: yes, I have a lot in my init, like custom reader macros and a few (access ..) things 2018-11-08T16:28:19Z Riastradh: What I did is: 2018-11-08T16:28:28Z sethalves quit (Ping timeout: 272 seconds) 2018-11-08T16:30:36Z sethalves joined #scheme 2018-11-08T16:32:12Z Riastradh: ./configure --prefix="`pwd`/boot" && make && make install && make distclean && PATH="`pwd`/boot/bin" ./configure && ... 2018-11-08T16:35:41Z Riastradh: er 2018-11-08T16:35:46Z Riastradh: PATH="$PATH:`pwd`/boot/bin" 2018-11-08T16:38:59Z Riastradh: Also please run `env FAST=y make check' after your build and let me know if anything fails. 2018-11-08T16:40:48Z flerovite quit (Ping timeout: 244 seconds) 2018-11-08T16:41:05Z flerovite joined #scheme 2018-11-08T16:44:17Z civodul joined #scheme 2018-11-08T16:44:21Z flerovite quit (Read error: Connection reset by peer) 2018-11-08T16:44:58Z flerovite joined #scheme 2018-11-08T16:47:01Z ecraven: Riastradh: build error: http://ix.io/1rki 2018-11-08T16:47:15Z ecraven: gcc 8.2.1 2018-11-08T16:48:33Z Riastradh: Bah. 2018-11-08T16:48:52Z Riastradh: That is, in fact, the correct way to do things. I appreciate what you're trying to do, gcc821, but you're wrong. 2018-11-08T16:51:08Z flerovite quit (Ping timeout: 244 seconds) 2018-11-08T17:00:11Z civodul quit (Remote host closed the connection) 2018-11-08T17:00:14Z brettgilio joined #scheme 2018-11-08T17:00:35Z civodul joined #scheme 2018-11-08T17:05:08Z ecraven: Riastradh: also: findprim.c:96:20: error: argument 2 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Werror=alloc-size-larger-than=] 2018-11-08T17:05:30Z ecraven: whatever you changed, it introduced new problems :D 2018-11-08T17:05:49Z Riastradh: Bizarre. I thought I only disabled some warnings. 2018-11-08T17:06:03Z Riastradh: Well, no, I added a couple too but not that one. 2018-11-08T17:06:13Z ecraven: I'll clean everything and retry 2018-11-08T17:16:13Z eddof13 joined #scheme 2018-11-08T17:21:14Z flerovite joined #scheme 2018-11-08T17:25:11Z ecraven: hm.. I fail at building the full system based on ../boot 2018-11-08T17:25:19Z Riastradh: ecraven: update 2018-11-08T17:25:22Z ecraven: it always runs into that alloc-size-larger-than error 2018-11-08T17:25:35Z ecraven: ah, nice! thank you 2018-11-08T17:27:16Z ecraven: that is fixed, but I still run into the pathnames problem 2018-11-08T17:27:24Z ecraven: I'll try setting the env variables like run-build does 2018-11-08T17:28:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T17:35:23Z brettgilio quit (Remote host closed the connection) 2018-11-08T17:39:16Z eddof13 quit (Quit: eddof13) 2018-11-08T17:40:34Z TGO joined #scheme 2018-11-08T17:42:48Z TheGreekOwl quit (Ping timeout: 244 seconds) 2018-11-08T17:43:18Z ecraven: Riastradh: thank you, seems to work now. I'll try running the tets 2018-11-08T17:44:15Z eddof13 joined #scheme 2018-11-08T17:45:18Z turbofail joined #scheme 2018-11-08T17:46:19Z ecraven: Riastradh: one subtest failure in floenv: http://ix.io/1rkA 2018-11-08T17:46:40Z Riastradh: Cool, that's it? 2018-11-08T17:46:47Z ecraven: yes, for FAST=y 2018-11-08T17:47:15Z ecraven: now running slow ;) 2018-11-08T17:47:36Z ecraven: is there a test report file anywhere? it's easy to miss the actual errors :-/ 2018-11-08T17:48:29Z jcob joined #scheme 2018-11-08T17:48:31Z Riastradh: Should be printed at the end, but yeah, this test system leaves a bit to be desired. 2018-11-08T17:48:40Z eddof13 quit (Client Quit) 2018-11-08T17:49:45Z Riastradh: I think your system math library might be broken! 2018-11-08T17:50:04Z ecraven: hehe, that may well be.. arch linux x86_64, almost up to date 2018-11-08T17:53:27Z klovett joined #scheme 2018-11-08T17:54:20Z Riastradh: ecraven: https://mumble.net/~campbell/tmp/20181108/floor.c 2018-11-08T17:55:19Z ecraven: 8 times -0.0 2018-11-08T17:55:24Z Riastradh: Hm. 2018-11-08T17:55:31Z Riastradh: Maybe it's not your system math library, then. 2018-11-08T17:55:58Z Riastradh: But I don't see how else that could happen... 2018-11-08T17:56:13Z ecraven: am I doing something wrong here? http://ix.io/1rkE 2018-11-08T17:56:20Z klovett_ quit (Ping timeout: 250 seconds) 2018-11-08T17:56:24Z Riastradh: No idea. 2018-11-08T17:57:08Z ecraven: it used to work like this.. but http has been broken for quite some time in -git :-/ 2018-11-08T17:57:27Z Riastradh: Oh, wait, I got the sense of things wrong. 2018-11-08T17:57:31Z Riastradh: Reload floor.c and try again? 2018-11-08T17:57:53Z ecraven: all 8 0.0 2018-11-08T17:58:37Z ecraven: clang and gcc agree ;) 2018-11-08T17:59:35Z Riastradh: Can you compile floor.c with -fno-builtin? 2018-11-08T18:00:01Z Riastradh: Also update and try test-floenv.scm again. 2018-11-08T18:00:04Z ecraven: still all 0.0 on both compilers 2018-11-08T18:00:10Z Riastradh: Huh. 2018-11-08T18:00:30Z Riastradh: Oh, there's one more possibility. 2018-11-08T18:00:50Z Riastradh: Reload floor.c and try again. 2018-11-08T18:01:18Z ecraven: -fno-builtin says 0.5 0.0 4 times 2018-11-08T18:01:27Z ecraven: same without -fno-builtin 2018-11-08T18:01:32Z Riastradh: Bizarre. 2018-11-08T18:01:35Z ecraven: ;) 2018-11-08T18:02:14Z Riastradh: What does (flo:with-rounding-mode 'downward (lambda () (list (floor 0.) (floor .5))) say? 2018-11-08T18:02:45Z ecraven: (-0. -0.) 2018-11-08T18:03:06Z ecraven: sorry, afk for a bit, just tell me what I should test when I come back 2018-11-08T18:03:17Z Riastradh: Can you do the same with the other rounding modes -- to-nearest, upward, toward-zero? 2018-11-08T18:06:50Z Riastradh: ecraven: Try adding a slash at the end of the URL. 2018-11-08T18:12:18Z ecraven: Riastradh: that works, thank you 2018-11-08T18:12:24Z ecraven: I forgot that, I ran into that before :-/ 2018-11-08T18:14:07Z ecraven: Riastradh: they all return '(0. 0.) 2018-11-08T18:14:57Z ecraven: test now fails 2 sub-tests, http://ix.io/1rkQ 2018-11-08T18:18:30Z grettke joined #scheme 2018-11-08T18:21:23Z Riastradh: what 2018-11-08T18:21:50Z jcob quit (Ping timeout: 272 seconds) 2018-11-08T18:21:51Z ecraven: ran it twice, same result 2018-11-08T18:24:37Z flerovite quit (Ping timeout: 252 seconds) 2018-11-08T18:25:02Z flerovite joined #scheme 2018-11-08T18:25:14Z Riastradh: (map floor '(-2.0 -1.5 -1.0 -0.5 -0.0 0.0 0.5 1.0 1.5 2.0)) 2018-11-08T18:25:16Z Riastradh: What does that give? 2018-11-08T18:26:11Z Riastradh: (unadorned, and in all rounding modes) 2018-11-08T18:26:50Z ecraven: (-2. -2. -1. -1. -0. 0. 0. 1. 1. 2.) 2018-11-08T18:27:19Z Riastradh: Same in all? 2018-11-08T18:27:27Z ecraven: working on it ;) 2018-11-08T18:30:33Z Riastradh: ecraven: update and rerun test 2018-11-08T18:30:41Z Riastradh: (won't fix it but will help to narrow down) 2018-11-08T18:30:54Z ecraven: http://ix.io/1rkY 2018-11-08T18:31:03Z Riastradh: weiiiiiiird 2018-11-08T18:31:30Z Riastradh: Something is real funny with your floor! 2018-11-08T18:31:36Z Riastradh narrowly avoids making a bad joke about mopping it 2018-11-08T18:32:09Z Riastradh: Can you objdump -dr artutl.o and show me flonum_floor? 2018-11-08T18:32:09Z ecraven: ;rounding-mode-independent:downward/floor failed 2 sub-tests out of 10 in 0. seconds: .5 assertion 1: value of (floor 0.) was -0. but expected an object eqv? to 0. .6 assertion 1: value of (floor .5) was -0. but expected an object eqv? to 0. 2018-11-08T18:32:47Z Riastradh: Also can you tell me what (flo:with-rounding-mode 'downward (lambda () ((make-primitive-procedure 'floor 1) .5))) gives? 2018-11-08T18:33:18Z ecraven: objdump: http://ix.io/1rkZ 2018-11-08T18:33:31Z Riastradh: Aha! So it's not going through libm. 2018-11-08T18:33:47Z Riastradh: Can you delete artutl.o and recompile it with -fno-builtin? 2018-11-08T18:33:55Z ecraven: I'll try ;) 2018-11-08T18:34:03Z Riastradh: (just `make artutl.o', delete it again, copy & paste the command line, and insert -fno-builtin) 2018-11-08T18:34:41Z Riastradh: Also can you compile floor.o and objdump -dr it? 2018-11-08T18:34:46Z Riastradh: (without -fno-builtin) 2018-11-08T18:35:44Z ecraven: new flonum_floor: http://ix.io/1rl0 2018-11-08T18:35:54Z zachk joined #scheme 2018-11-08T18:36:47Z ecraven: floor: http://ix.io/1rl1 2018-11-08T18:37:04Z zachk quit (Changing host) 2018-11-08T18:37:04Z zachk joined #scheme 2018-11-08T18:37:27Z Riastradh: Interesting. 2018-11-08T18:37:43Z Riastradh: Can you compile floor.c with -O3 and try again? 2018-11-08T18:37:51Z Riastradh: (run it, disassemble it) 2018-11-08T18:38:06Z Riastradh: (also want to see if the test passes when artutl.o is compiled with -fno-builtin; just run `make' again in microcode to relink the microcode) 2018-11-08T18:40:22Z ecraven: floenv passed 2018-11-08T18:41:00Z ecraven: with -O3, the second line is 0.5 -0.0, all the others are 0.5 0.0 2018-11-08T18:41:10Z Riastradh: OK, last one: can you recompile artutl.c with -frounding-math instead of -fno-builtin? 2018-11-08T18:41:10Z ecraven: without -O3, all lines are 0.5 0.0 2018-11-08T18:42:06Z ecraven: with -frounding-math floenv fails 2018-11-08T18:42:24Z ecraven: http://ix.io/1rl3 2018-11-08T18:47:53Z ecraven: Riastradh: the ->pathname bug seems to be random, it sometimes happens, sometimes does not 2018-11-08T18:48:16Z Riastradh: bah 2018-11-08T18:48:25Z Riastradh: Can you compile floor.c with -frounding-math -O3 and send objdump? 2018-11-08T18:49:39Z ecraven: http://ix.io/1rl4 2018-11-08T18:49:48Z Riastradh: And output? 2018-11-08T18:49:58Z ecraven: at the top of the paste 2018-11-08T18:50:05Z Riastradh: Cool. 2018-11-08T18:50:09Z Riastradh: gcc -frounding-math -O3 is broken. 2018-11-08T18:50:13Z ecraven: ;) 2018-11-08T18:50:18Z Riastradh: Congratulations, you found a compiler bug! 2018-11-08T18:50:26Z ecraven: hehe, I'd rather say *you* did 2018-11-08T18:50:48Z ecraven: where is the error? 2018-11-08T18:51:09Z Riastradh: I dunno, somewhere in that mess of sse stuff. 2018-11-08T18:51:15Z ecraven: hm.. I don't know enough about SSE obviously 2018-11-08T18:52:10Z ecraven: afk again for a bit ;) 2018-11-08T18:52:44Z catonano joined #scheme 2018-11-08T18:53:09Z Riastradh: IEEE 754 roundToIntegral* (of which floor = roundToIntegralTowardNegative) is supposed to preserve the sign bit of its operand, according to Sec. 6.3 `The sign bit'. 2018-11-08T18:53:14Z Riastradh: (IEEE 754-2008) 2018-11-08T18:54:05Z Riastradh: `When neither the inputs nor the result are NaN, [...] the sign of the result of conversion, the quantize operation, the roundToIntegral operations, and the roundToIntegralExact is the sign of the first or only operand.' 2018-11-08T18:56:59Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T18:58:21Z silas joined #scheme 2018-11-08T18:58:40Z jao joined #scheme 2018-11-08T18:59:23Z grettke joined #scheme 2018-11-08T18:59:30Z TGO quit (Read error: Connection reset by peer) 2018-11-08T19:00:24Z TheGreekOwl joined #scheme 2018-11-08T19:05:51Z oats left #scheme 2018-11-08T19:14:01Z ecraven: Riastradh: will you file a bug report? just because I don't think I understand this well enough to do that ;) 2018-11-08T19:16:51Z ecraven: tried with clang, but it doesn't support -frounding-math 2018-11-08T19:23:04Z ecraven: Riastradh: do you have any idea how to import r7rs libraries into the mit repl? I can load them fine, but how do I then make them accessible? 2018-11-08T19:24:05Z ecraven: GE works for "entering" them 2018-11-08T19:30:21Z joast quit (Ping timeout: 252 seconds) 2018-11-08T19:31:11Z muelleme joined #scheme 2018-11-08T19:39:00Z amz3 joined #scheme 2018-11-08T19:44:44Z oni-on-ion quit (Ping timeout: 244 seconds) 2018-11-08T19:47:04Z oni-on-ion joined #scheme 2018-11-08T19:48:00Z jcowan: ecraven: You need to load and then import; that's a documented restriction for R7RS libs in MIT. 2018-11-08T19:49:04Z ecraven: jcowan: on my repl, import is unbound 2018-11-08T19:50:09Z jcowan: yes, okay, the REPL has not been updated yet. 2018-11-08T19:50:35Z jcowan: The compiler auto-detects R7RS and DTRT, but not the REPL. 2018-11-08T19:50:35Z ecraven: so there's no way to actually import an r7rs library it the repl yet? 2018-11-08T19:50:41Z jcowan: Seemingly not. 2018-11-08T19:50:46Z ecraven: interesting :P 2018-11-08T19:50:58Z jcowan: You can always load the underlying *-impl.scm files, at least for one of my SRFIs. 2018-11-08T19:51:29Z ecraven: yes, but I've been wanting r7rs libraries in mit-scheme since forever, so I'm very glad they finally are coming! 2018-11-08T19:51:30Z jcowan: I was always prepared for possible use in R5RS 2018-11-08T19:51:34Z on_ion joined #scheme 2018-11-08T19:52:18Z jcowan: SRFI 160 is probably going to be debugged under four Schemes: Chicken, Chibi, Guile for sure, possibly IronScheme or Ypsilon as well. 2018-11-08T19:54:03Z oni-on-ion quit (Ping timeout: 276 seconds) 2018-11-08T19:56:04Z ecraven: Riastradh: is there any way to "link" the exports from a given environment (in this case r7rs library, but it looks like a normal environment) to the repl environment '(user)? 2018-11-08T19:58:17Z daviid joined #scheme 2018-11-08T19:58:57Z cortisol quit 2018-11-08T20:09:11Z Riastradh: ecraven: link-variables? 2018-11-08T20:10:45Z mejja joined #scheme 2018-11-08T20:10:50Z Riastradh: mejja: What'd I break this time? 2018-11-08T20:14:23Z balkamos quit (Quit: leaving) 2018-11-08T20:15:19Z balkamos joined #scheme 2018-11-08T20:16:05Z mejja: Riastradh, floenv 2018-11-08T20:16:29Z Riastradh: Broken how? 2018-11-08T20:16:57Z joast joined #scheme 2018-11-08T20:17:01Z mejja: make check failure 2018-11-08T20:17:57Z Riastradh: What failure? 2018-11-08T20:18:16Z vyzo joined #scheme 2018-11-08T20:19:03Z mejja: I don't know.. 2018-11-08T20:19:08Z mejja: :P 2018-11-08T20:19:10Z Riastradh: Um? What's it say? 2018-11-08T20:19:39Z mejja: didn't save the log 2018-11-08T20:21:34Z Riastradh: Was it by any chance that floor(0.5) gave -0. instead of 0.? 2018-11-08T20:21:43Z Riastradh: Because if so, joke's on you: it's your compiler that's busted! 2018-11-08T20:30:39Z Zipheir quit (Remote host closed the connection) 2018-11-08T20:33:06Z mejja: floor is ok. 2018-11-08T20:33:26Z Riastradh: What is it, then? 2018-11-08T20:46:21Z TheGreekOwl quit (Quit: I must go, my planet needs me.) 2018-11-08T20:46:51Z TheGreekOwl joined #scheme 2018-11-08T20:47:22Z Zaab1t quit (Quit: bye bye friends) 2018-11-08T20:49:16Z mejja: It's floor then. 2018-11-08T20:49:38Z ecraven: mejja: what's your gcc version? 2018-11-08T20:49:59Z mejja: gcc 7.3.0 2018-11-08T20:50:02Z ecraven: I run 8.2.1, and floor is broken for -frounding-math -O3 for me 2018-11-08T20:50:24Z ecraven: maybe try https://mumble.net/~campbell/tmp/20181108/floor.c with -frounding-math -O3? 2018-11-08T20:50:25Z Riastradh: mejja: Minimal test case: https://mumble.net/~campbell/tmp/20181108/floor.c 2018-11-08T20:53:50Z mejja: 0.500000 0.000000 2018-11-08T20:53:50Z mejja: 0.500000 -0.000000 2018-11-08T20:53:50Z mejja: 0.500000 0.000000 2018-11-08T20:53:50Z mejja: 0.500000 0.000000 2018-11-08T20:54:17Z ecraven: that's the problem ;) 2018-11-08T20:54:27Z ecraven: should be 0.0 instead of -0.0 2018-11-08T20:58:34Z Riastradh: Could try -O2 instead of -O3. 2018-11-08T20:58:46Z Riastradh: (I don't really know why we do -O3.) 2018-11-08T20:59:29Z mejja: -Os works for me.. 2018-11-08T21:01:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T21:17:08Z daviid quit (Ping timeout: 245 seconds) 2018-11-08T21:20:25Z ecraven: Riastradh: so, about that ->pathname thing, it seems to happen when you run configure or make (or both?) multiple times in the same directory 2018-11-08T21:20:38Z ecraven: so something gets left over that isn't cleaned up before the next run 2018-11-08T21:21:10Z Riastradh: Fun. 2018-11-08T21:27:38Z mejja quit (Quit: mejja) 2018-11-08T21:31:41Z mejja joined #scheme 2018-11-08T21:36:18Z elderK joined #scheme 2018-11-08T21:43:42Z balkamos quit (Quit: leaving) 2018-11-08T21:43:45Z pierpa joined #scheme 2018-11-08T21:44:32Z balkamos joined #scheme 2018-11-08T22:00:08Z grettke joined #scheme 2018-11-08T22:00:48Z klovett_ joined #scheme 2018-11-08T22:03:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-08T22:05:24Z klovett_ quit (Ping timeout: 272 seconds) 2018-11-08T22:11:57Z klovett joined #scheme 2018-11-08T22:12:53Z klovett_ joined #scheme 2018-11-08T22:14:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-08T22:16:43Z klovett quit (Ping timeout: 252 seconds) 2018-11-08T22:25:21Z balkamos quit (Remote host closed the connection) 2018-11-08T22:27:57Z grettke joined #scheme 2018-11-08T22:30:42Z lritter quit (Quit: Leaving) 2018-11-08T22:34:17Z balkamos joined #scheme 2018-11-08T22:42:32Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-08T22:45:41Z terpri joined #scheme 2018-11-08T22:50:06Z catonano quit (Quit: catonano) 2018-11-08T22:53:21Z smazga quit (Quit: leaving) 2018-11-08T23:14:53Z averell quit (Quit: .) 2018-11-08T23:15:27Z alyptik quit (Ping timeout: 240 seconds) 2018-11-08T23:17:47Z dmiles quit (Ping timeout: 240 seconds) 2018-11-08T23:36:49Z alyptik joined #scheme 2018-11-08T23:42:38Z averell joined #scheme 2018-11-08T23:48:34Z pierpal quit (Ping timeout: 252 seconds) 2018-11-08T23:53:46Z dbmikus quit (Ping timeout: 244 seconds) 2018-11-08T23:56:00Z balkamos quit (Ping timeout: 252 seconds) 2018-11-08T23:56:16Z skapata quit (Remote host closed the connection) 2018-11-09T00:00:24Z daviid joined #scheme 2018-11-09T00:01:04Z balkamos joined #scheme 2018-11-09T00:04:45Z robotoad quit (Quit: robotoad) 2018-11-09T00:13:26Z daviid quit (Remote host closed the connection) 2018-11-09T00:13:35Z daviid joined #scheme 2018-11-09T00:17:14Z robotoad joined #scheme 2018-11-09T00:26:15Z vyzo quit (Ping timeout: 252 seconds) 2018-11-09T01:15:34Z Zipheir joined #scheme 2018-11-09T01:15:50Z jonaslund quit (Read error: Connection reset by peer) 2018-11-09T01:16:34Z jonaslund joined #scheme 2018-11-09T01:16:47Z mejja quit (Quit: mejja) 2018-11-09T01:17:47Z pierpal joined #scheme 2018-11-09T01:22:04Z enderby quit (Ping timeout: 252 seconds) 2018-11-09T01:44:46Z zachk quit (Quit: Leaving) 2018-11-09T01:58:55Z daviid quit (Ping timeout: 252 seconds) 2018-11-09T01:59:09Z lavaflow quit (Read error: Connection reset by peer) 2018-11-09T02:00:20Z lavaflow joined #scheme 2018-11-09T02:02:10Z lockywolf joined #scheme 2018-11-09T02:03:02Z lockywolf quit (Remote host closed the connection) 2018-11-09T02:03:04Z zachk joined #scheme 2018-11-09T02:03:33Z zachk quit (Changing host) 2018-11-09T02:03:33Z zachk joined #scheme 2018-11-09T02:03:47Z lockywolf joined #scheme 2018-11-09T02:04:15Z lockywolf quit (Remote host closed the connection) 2018-11-09T02:06:25Z lockywolf joined #scheme 2018-11-09T02:07:00Z lockywolf quit (Read error: Connection reset by peer) 2018-11-09T02:13:04Z daviid joined #scheme 2018-11-09T02:14:38Z elderK quit (Quit: Connection closed for inactivity) 2018-11-09T02:24:10Z permagreen joined #scheme 2018-11-09T02:28:24Z jcowan: Well, I have thought more about monads and their relatives, and come up with a tentative list of derived functions. 2018-11-09T02:29:06Z jcowan: However, the sticky bit is how you create a functor, an idiom (this term is less clear than "applicative functor", but a lot shorter), or a monad instance. 2018-11-09T02:29:51Z jcowan: There are six functions that seem to make sense to allow the instance creator to define: (f)map, sequence(A), pure, ap(ply), join, bind. 2018-11-09T02:31:26Z jcowan: If you want a functor, you must supply map and that's it. For an idiom, either pure and apply (in which case fmap is not required) or fmap and sequence. For a monad, either of the rules for an idiom, plus either bind or join. 2018-11-09T02:31:36Z jcowan: The thing is, who can remember all that? 2018-11-09T02:34:53Z ski: (actually, `pure' and `bind' is enough to also get `map' and `ap'. or else `pure', `join', and `map', to get `ap'. also getting `sequence' in both cases, of course) 2018-11-09T02:36:09Z ski: so, i suppose two versions of `make-idiom', and two versions of `make-monad', say 2018-11-09T02:37:32Z ski: presumably an idiom record contains (or extends) a functor record. and a monad record contains (or extends) an idiom record 2018-11-09T02:37:55Z klovett_ quit (Read error: Connection reset by peer) 2018-11-09T02:39:48Z ski: hm, are there examples of other abstract data types, where it's enough to implement some of the operations (with at least two choices), getting the others for free ? 2018-11-09T02:44:11Z ski: (in the current set-up in Haskell, one always have to define `bind' to give a monad, in addition to giving the idiom and functor operations. so no manual override of `join' (it was considered, but not done, because of some difficulties automatically deriving monad instance for some types). but it might be nice to allow different minimal definitions ..) 2018-11-09T02:44:31Z lockywolf joined #scheme 2018-11-09T02:45:09Z lockywolf quit (Remote host closed the connection) 2018-11-09T02:46:55Z lockywolf joined #scheme 2018-11-09T02:48:11Z ski: so, i suppose (a) one could just give a single way to make an idiom/monad; (b) give two, separate, constructors, but don't allow combining them (giving more operations than strictly necessary, perhaps for efficiency reasons); (c) do give a more general system (a la default implementations in Haskell) that allows specifying more than minimal complete definition of operations 2018-11-09T02:50:19Z ski: (for (c), it might be nice if one could give more than one default implementation of something, and it automatically choses one which breaks the cycle. default implementations in Haskell doesn't allow that) 2018-11-09T02:52:05Z ski: (e.g. if we have operations `foo',`bar',`baz', but only one of these three is needed. each one of them would have two default implementations, in terms of the other two, respectively. so if we override `foo' with a concrete implementation, then `bar' would use the default implementation in terms of `foo' (not in terms of `baz'), and `baz' would use the default implementation in terms of `foo' (not in terms of `bar')) 2018-11-09T02:53:59Z marusich joined #scheme 2018-11-09T02:57:28Z ski: for (b), we could have `(make-monad-from-bind pure bind)' and `(make-monad-from-join map pure join)' respectively `(make-idiom-from-sequence sequence)' and `(make-idiom-from-pure-and-ap pure ap)' 2018-11-09T02:58:45Z ski: (those names are a bit unwieldy, but you get the point) 2018-11-09T02:58:46Z ski: (hrm, the `...-from-sequence' should also be given `map', right) 2018-11-09T03:00:32Z amz3 quit (Ping timeout: 272 seconds) 2018-11-09T03:01:20Z ski: for (c), one could imagine something like `(make-monad (define (pure x) ..x..) (define (bind act cont) ..act..cont))' vs. `(make-monad (define (fmap fun act) ..fun..act..) (define (pure x) ..x..) (define (join act-of-act) ..act-of-act..))' 2018-11-09T03:02:24Z ski: where we could reuse the same name `make-monad', but make sure to define enough operations to break the cycles in the default implementations 2018-11-09T03:03:25Z amz3 joined #scheme 2018-11-09T03:05:28Z jcowan tries to understand that 2018-11-09T03:05:29Z ski: (the definitions could be placed outside, if preferred. the point is that here `make-monad' would recognize particular identifiers being defined, so that the operations are identified by name rather than by position, which was the case for (b) above) 2018-11-09T03:05:36Z jcowan: thanks for it all 2018-11-09T03:05:58Z ski: i'm just trying to sketch out a few different possibilities 2018-11-09T03:06:04Z jcowan: yes 2018-11-09T03:06:59Z klovett joined #scheme 2018-11-09T03:07:08Z ski: (c) is more ambitious. but might perhaps pay off also for other abstract data type interfaces, with extra operations which have default implementations, but which could be overridden, and where perhaps also in some cases one could have several different minimal complete bases 2018-11-09T03:08:47Z pierpa quit (Quit: Page closed) 2018-11-09T03:09:40Z ski: (c) is perhaps starting to smell somewhat similar to some kinds of object-orientation. e.g. one can wonder whether to allow open recursion not only on the initial specification of an "interface" (which would include default implementations), but also after having instantiated 2018-11-09T03:12:35Z ski: (it's definitely not single-dispatch, though. there is no `this'/`self' object. hm, and i'm not as familiar with multiple-dispatch multi-methods in CLOS-like systems, but i think it's also different from that .. cf. "Interface-passing style" by Fare in 2010-02-17 at ) 2018-11-09T03:15:01Z robotoad quit (Quit: robotoad) 2018-11-09T03:15:07Z jcowan: my original plan was just map for functors, map + sequence for idioms, map + sequence + bind for monads, but I know it's awkward to define some of these 2018-11-09T03:15:33Z jcowan: I do like the idea of the self-recursive definitions 2018-11-09T03:16:24Z jcowan: < and <= are defined in terms of >, > and >= are defined in terms of <, = and /= are defined in terms of both, or define things with = too, etc. etc. 2018-11-09T03:16:37Z ski: yes 2018-11-09T03:16:39Z jcowan: I think it's a good idea in this case. Let me understand this about non-positional args 2018-11-09T03:18:10Z ski: the idea there was just to allow one to define as many or as few operations as desired (as long as one covers at least one of the alternative minimal complete bases), without having a proliferation of `make-blah-from-xxx' constructors for each different selection `xxx' of operations to specify 2018-11-09T03:18:20Z Riastradh: Obviously the right thing is to specify any number of minimal sets, and then have the implementation automagically detect which minimal subset you have defined it in terms of, or complain if there isn't one. 2018-11-09T03:18:40Z ski: (of course, not all operations need have default implementations. in that case one always needs to define the ones which doesn't) 2018-11-09T03:18:45Z jcowan: yes, but what is the automagic in question? 2018-11-09T03:18:50Z jcowan: a p-list? 2018-11-09T03:19:15Z ski: Riastradh : that would be ideal, yes 2018-11-09T03:19:56Z Riastradh: Well, it just recursively examines the syntax tree, infers types, monomorphizes the whole program, and determines what works, bingo! 2018-11-09T03:20:11Z jcowan: That would make make-* a macro, which doesn't sound like a win to me. 2018-11-09T03:20:55Z jcowan: in any case, it wouldn't work for creating new instances at runtime 2018-11-09T03:22:24Z jcowan: (make-monad `(pure ,this map ,that join ,tother)) 2018-11-09T03:22:32Z ski: (well, i was kinda hoping there'd be no need for type inference, just ("just" ?) to determine which operations are defined, and then possibly also which operations they're defined in terms of) 2018-11-09T03:23:09Z jcowan: right, and positional arguments (six of them) would do that fine, pass a proc or #f. But it would be extremely easy to get wrong, since all six are opaque procedures. 2018-11-09T03:24:02Z ski: one could imagine using keyword arguments to get non-positional, instead of matching on names (so really, we're matching on the keyword names) 2018-11-09T03:24:24Z ski: jcowan : right, and tedious 2018-11-09T03:24:36Z jcowan: p-lists + backquote = poor man's keywords 2018-11-09T03:24:54Z Riastradh: Adopt Racket's named parameters! 2018-11-09T03:25:15Z jcowan: And make every conformant Scheme do it? There goes conformance. 2018-11-09T03:25:33Z jcowan: (not to mention that every Scheme with its own keywords has its own notions about it) 2018-11-09T03:25:52Z daviid quit (Ping timeout: 272 seconds) 2018-11-09T03:25:56Z Riastradh: Well, when they see the superiority of Racket's named parameters they will recognize the error of their ways. 2018-11-09T03:26:00Z jcowan: Racket-style vs. CL style, and then syntax! #:foo, foo:, :foo, or some combination thereof, with or without compile-time switches. 2018-11-09T03:26:06Z jcowan: Not. 2018-11-09T03:26:29Z Riastradh: Syntax schmyntax; I don't care about that (except that #: is horrible but whatever). 2018-11-09T03:26:38Z jcowan snickers 2018-11-09T03:26:50Z jcowan: *everyone* cares about lexical syntax 2018-11-09T03:27:03Z Riastradh: I'm willing to hold my nose about that if you get the semantics right. 2018-11-09T03:27:17Z jcowan: it has been observed in the development of conlangs that if you change the syntax, people will adapt, but if you change the morphology (word construction rules), you lose adherents fast. 2018-11-09T03:27:32Z zachk: conlangs? 2018-11-09T03:27:38Z ski: (remind me, is there an SRFI for record types where the constructor (can) take the field values associated with the field names, instead of (necessarily) positional ?) 2018-11-09T03:27:39Z jcowan: Constructed languages 2018-11-09T03:28:54Z jcowan: I don't think so, though with R6RS you can construct your constructors to have any positional args you want. SRFI-9/R7RS allows only one base constructor and all others must be defined in terms of it, but of course it need not set all (or even any) slots. 2018-11-09T03:34:18Z jcowan: Scheme is the land of BOA constructors. 2018-11-09T03:34:41Z jcowan: (a pun that made it from CLtL to the ANS) 2018-11-09T03:35:34Z robotoad joined #scheme 2018-11-09T03:38:34Z zachk quit (Quit: Leaving) 2018-11-09T04:07:26Z jcowan: the other problem with both Racket-type and CL-type keywords is that the caller can't use them unless the callee expects them, unlike Python or Scala which permit any call to use keywords (matching the formal parameters) or not 2018-11-09T04:08:00Z keep_learning joined #scheme 2018-11-09T04:12:35Z catonano joined #scheme 2018-11-09T04:26:11Z lockywolf quit (Ping timeout: 260 seconds) 2018-11-09T04:38:55Z lockywolf joined #scheme 2018-11-09T04:45:20Z terpri quit (Remote host closed the connection) 2018-11-09T04:45:48Z terpri joined #scheme 2018-11-09T05:13:28Z lavaflow quit (Ping timeout: 246 seconds) 2018-11-09T05:14:01Z lavaflow joined #scheme 2018-11-09T05:16:33Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-09T05:23:36Z elderK joined #scheme 2018-11-09T05:23:44Z marusich quit (Quit: Leaving) 2018-11-09T05:25:57Z dtornabene joined #scheme 2018-11-09T05:42:11Z lockywolf_ joined #scheme 2018-11-09T05:43:36Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-09T05:48:07Z jao quit (Ping timeout: 240 seconds) 2018-11-09T05:58:54Z catonano quit (Quit: catonano) 2018-11-09T06:00:46Z lockywolf joined #scheme 2018-11-09T06:03:14Z lockywolf_ quit (Ping timeout: 268 seconds) 2018-11-09T06:44:13Z lockywolf quit (Read error: Connection reset by peer) 2018-11-09T06:45:21Z lockywolf joined #scheme 2018-11-09T07:01:47Z lockywolf quit (Ping timeout: 240 seconds) 2018-11-09T07:07:42Z catonano joined #scheme 2018-11-09T07:08:34Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-09T07:14:01Z brendyn joined #scheme 2018-11-09T07:24:37Z razzy quit (Read error: Connection reset by peer) 2018-11-09T07:34:27Z TheGreekOwl quit (Ping timeout: 240 seconds) 2018-11-09T07:34:29Z razzy joined #scheme 2018-11-09T07:41:21Z DGASAU quit (Ping timeout: 244 seconds) 2018-11-09T07:45:36Z robotoad quit (Quit: robotoad) 2018-11-09T07:50:22Z klovett quit (Remote host closed the connection) 2018-11-09T08:03:58Z xkapastel joined #scheme 2018-11-09T08:07:08Z dtornabene quit (Quit: Leaving) 2018-11-09T08:17:06Z catonano quit (Quit: catonano) 2018-11-09T08:40:51Z catonano joined #scheme 2018-11-09T08:54:39Z SirDayBa1 is now known as SirDayBat 2018-11-09T08:57:29Z skapata joined #scheme 2018-11-09T08:58:12Z marvin2 joined #scheme 2018-11-09T09:12:26Z plugd joined #scheme 2018-11-09T09:26:01Z marvin2 quit (Remote host closed the connection) 2018-11-09T09:40:30Z catonano quit (Quit: catonano) 2018-11-09T09:53:34Z Zenton quit (Ping timeout: 252 seconds) 2018-11-09T09:57:59Z bor0 joined #scheme 2018-11-09T09:59:46Z catonano joined #scheme 2018-11-09T10:08:37Z Zenton joined #scheme 2018-11-09T10:21:20Z plugd quit (Quit: WeeChat 2.3) 2018-11-09T10:46:13Z pierpal quit (Quit: Poof) 2018-11-09T10:46:34Z pierpal joined #scheme 2018-11-09T10:50:02Z elderK quit (Quit: Connection closed for inactivity) 2018-11-09T10:53:15Z pierpal quit (Ping timeout: 252 seconds) 2018-11-09T10:54:30Z pierpal joined #scheme 2018-11-09T11:26:32Z rain1: http://www.rntz.net/post/intuitive-hygienic-macros.html any thoughts on how this approach compares with the scope sets? 2018-11-09T11:54:48Z marvin2 joined #scheme 2018-11-09T12:19:29Z gnomon_ joined #scheme 2018-11-09T12:20:06Z pierpal quit (Quit: Poof) 2018-11-09T12:20:26Z pierpal joined #scheme 2018-11-09T12:22:36Z gnomon quit (Ping timeout: 252 seconds) 2018-11-09T12:32:42Z civodul joined #scheme 2018-11-09T12:33:23Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-09T12:57:40Z catonano quit (Quit: catonano) 2018-11-09T12:58:41Z catonano joined #scheme 2018-11-09T13:31:56Z dmiles joined #scheme 2018-11-09T13:53:23Z razzy quit (Ping timeout: 245 seconds) 2018-11-09T13:53:34Z bor0 quit (Quit: Leaving) 2018-11-09T13:57:09Z catonano quit (Quit: catonano) 2018-11-09T14:01:14Z klovett joined #scheme 2018-11-09T14:07:37Z catonano joined #scheme 2018-11-09T14:08:42Z ggole joined #scheme 2018-11-09T14:23:27Z gnomon_ is now known as gnomon 2018-11-09T14:42:24Z lritter joined #scheme 2018-11-09T14:49:41Z jao joined #scheme 2018-11-09T14:59:58Z catonano quit (Quit: catonano) 2018-11-09T15:03:42Z Zaab1t joined #scheme 2018-11-09T15:05:41Z Zaab1t quit (Client Quit) 2018-11-09T15:06:05Z nly joined #scheme 2018-11-09T15:10:23Z Zaab1t joined #scheme 2018-11-09T15:18:54Z Inline joined #scheme 2018-11-09T15:20:57Z dbmikus joined #scheme 2018-11-09T15:26:01Z blackwolf joined #scheme 2018-11-09T15:39:30Z catonano joined #scheme 2018-11-09T15:54:02Z grettke joined #scheme 2018-11-09T16:19:19Z robotoad joined #scheme 2018-11-09T16:25:31Z hugh_marera joined #scheme 2018-11-09T16:46:25Z jao quit (Ping timeout: 268 seconds) 2018-11-09T16:49:24Z smazga joined #scheme 2018-11-09T17:05:37Z IstiCusi joined #scheme 2018-11-09T17:08:11Z DGASAU joined #scheme 2018-11-09T17:17:33Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-09T17:23:22Z confusedwanderer joined #scheme 2018-11-09T17:26:15Z klovett quit 2018-11-09T17:37:15Z pjb joined #scheme 2018-11-09T17:37:34Z remix2000 quit (Quit: WeeChat 2.2-dev) 2018-11-09T17:44:17Z DGASAU` joined #scheme 2018-11-09T17:45:40Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-09T17:58:52Z TheGreekOwl joined #scheme 2018-11-09T18:02:13Z DGASAU` quit (Read error: Connection reset by peer) 2018-11-09T18:03:44Z DGASAU joined #scheme 2018-11-09T18:05:20Z catonano quit (Quit: catonano) 2018-11-09T18:09:49Z klovett joined #scheme 2018-11-09T18:16:00Z DGASAU quit (Read error: Connection reset by peer) 2018-11-09T18:16:38Z DGASAU joined #scheme 2018-11-09T18:17:28Z eagleflo quit (Ping timeout: 246 seconds) 2018-11-09T18:25:04Z nitrowheels joined #scheme 2018-11-09T18:37:51Z xkapastel joined #scheme 2018-11-09T18:38:30Z muelleme quit (Ping timeout: 272 seconds) 2018-11-09T18:40:24Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-09T18:56:18Z pierpal quit (Read error: Connection reset by peer) 2018-11-09T19:01:22Z IstiCusi quit (Quit: WeeChat 1.9.1) 2018-11-09T19:09:39Z nitrowheels quit (Quit: Leaving) 2018-11-09T19:12:47Z zachk joined #scheme 2018-11-09T19:13:30Z zachk quit (Changing host) 2018-11-09T19:13:30Z zachk joined #scheme 2018-11-09T19:20:52Z klovett quit 2018-11-09T19:23:25Z eli joined #scheme 2018-11-09T19:23:25Z eli quit (Changing host) 2018-11-09T19:23:25Z eli joined #scheme 2018-11-09T19:34:28Z muelleme joined #scheme 2018-11-09T19:39:44Z ggole quit (Quit: ggole) 2018-11-09T19:40:16Z muelleme quit (Ping timeout: 260 seconds) 2018-11-09T19:41:31Z Zenton quit (Ping timeout: 252 seconds) 2018-11-09T19:44:09Z Zenton joined #scheme 2018-11-09T19:55:35Z muelleme joined #scheme 2018-11-09T20:00:48Z catonano joined #scheme 2018-11-09T20:04:39Z daviid joined #scheme 2018-11-09T20:20:05Z flerovite quit (Read error: Connection reset by peer) 2018-11-09T20:20:43Z flerovite joined #scheme 2018-11-09T20:22:27Z r1b joined #scheme 2018-11-09T20:22:34Z r1b quit (Client Quit) 2018-11-09T20:32:34Z confusedwanderer quit (Remote host closed the connection) 2018-11-09T20:36:02Z groovy2shoes quit (Quit: moritura te salutat) 2018-11-09T20:37:47Z nly quit (Ping timeout: 240 seconds) 2018-11-09T20:38:47Z klovett joined #scheme 2018-11-09T20:51:43Z muelleme quit (Ping timeout: 245 seconds) 2018-11-09T21:02:54Z silas quit (Ping timeout: 264 seconds) 2018-11-09T21:03:33Z silas joined #scheme 2018-11-09T21:44:38Z catonano quit (Quit: catonano) 2018-11-09T21:51:44Z klovett_ joined #scheme 2018-11-09T21:52:43Z jao joined #scheme 2018-11-09T21:55:03Z klovett quit (Ping timeout: 245 seconds) 2018-11-09T22:00:05Z grettke joined #scheme 2018-11-09T22:00:44Z permagreen quit (Remote host closed the connection) 2018-11-09T22:01:48Z permagreen joined #scheme 2018-11-09T22:10:26Z Zaab1t quit (Quit: bye bye friends) 2018-11-09T22:15:14Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-09T22:42:19Z debsan joined #scheme 2018-11-09T22:44:16Z catonano joined #scheme 2018-11-09T22:52:24Z alezost joined #scheme 2018-11-09T23:11:51Z seizo9 joined #scheme 2018-11-09T23:12:04Z seizo9 quit (Remote host closed the connection) 2018-11-09T23:13:46Z catonano quit (Quit: catonano) 2018-11-09T23:14:18Z MeihamuSama[m] left #scheme 2018-11-09T23:18:38Z silas quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-09T23:22:17Z blackwolf quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2018-11-09T23:24:48Z smazga quit (Quit: leaving) 2018-11-09T23:27:37Z safinaskar joined #scheme 2018-11-09T23:27:45Z safinaskar left #scheme 2018-11-09T23:27:52Z safinaskar joined #scheme 2018-11-09T23:27:58Z safinaskar: hi 2018-11-09T23:28:09Z safinaskar: consider this: 2018-11-09T23:28:22Z safinaskar: (define ptr (lambda (x) (list (lambda () x) (lambda (y) (define x y))))) 2018-11-09T23:28:56Z safinaskar: i trying to do this: "ptr" should create pair of functions which can get and set some value 2018-11-09T23:29:04Z safinaskar: now condider this: 2018-11-09T23:29:45Z zachk: you might want to use set! instead of define, maybe macros if you want to pass the name of a variable in 2018-11-09T23:29:55Z Zipheir: safinaskar: That won't work. 2018-11-09T23:30:28Z Zipheir: safinaskar: If you want a form that expands to one or more defines, it'll have to be a macro. 2018-11-09T23:30:40Z safinaskar: (begin (define p (ptr 3)) ((cadr p) 4) ((car p))) 2018-11-09T23:30:51Z safinaskar: i think this should be 4, but i got 3 2018-11-09T23:30:52Z safinaskar: why? 2018-11-09T23:31:11Z safinaskar: now let's consider js variant: 2018-11-09T23:31:12Z safinaskar: let ptr = (x => [() => x, y => void (x = y)]) 2018-11-09T23:31:39Z safinaskar: let p = ptr(3); p[1](4); p[0]() 2018-11-09T23:31:47Z safinaskar: i got 4, as i want 2018-11-09T23:31:57Z safinaskar: so, js variant works, and scheme doesn't. why? 2018-11-09T23:32:09Z Zipheir: Scheme is not JS, for a start. 2018-11-09T23:32:22Z zachk: you could use a closure and message passing into the closure to get and set it's value 2018-11-09T23:32:38Z Zipheir: safinaskar: What zachk said. ^^ 2018-11-09T23:32:39Z zachk: return a lambda from your lambda 2018-11-09T23:33:38Z on_ion: its* 2018-11-09T23:33:40Z zachk: or in your lambda, return a list of lambdas that set and get the value bound in the outer lambda 2018-11-09T23:34:12Z safinaskar: hmmm, i replaced (define x y) with (set! x y) and now it works 2018-11-09T23:34:13Z safinaskar: why? 2018-11-09T23:34:27Z safinaskar: why set! works (just as in js) and define doesn't? 2018-11-09T23:35:05Z zachk: define will define a a new variable, some schemes only at top level, others inside lexical scope 2018-11-09T23:35:06Z Zipheir: Read https://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-2.html#%_toc_%_sec_5.2 for why define doesn't work that way. 2018-11-09T23:35:21Z zachk: can you define inside local scopes in most schemes these days? 2018-11-09T23:35:27Z safinaskar: zachk: thanks 2018-11-09T23:35:32Z safinaskar: now it seems i understand 2018-11-09T23:35:39Z Zipheir: zachk: Only after a define or let, iirc 2018-11-09T23:35:54Z safinaskar: "define" simply create absolutely new entity and set! doesn't 2018-11-09T23:36:05Z Zipheir: zachk: R5: "Definitions may occur at the beginning of a (that is, the body of a lambda, let, let*, letrec, let-syntax, or letrec-syntax expression or that of a definition of an appropriate form)." 2018-11-09T23:36:07Z safinaskar: thus if i use set! i got absolutely js-like behaviour 2018-11-09T23:36:08Z safinaskar: thanks 2018-11-09T23:36:35Z Zipheir: "absolutely js-like behaviour" ... is not necessarily a good thing. There may be a better way to do what you're trying to do. 2018-11-09T23:36:43Z dbmikus quit (Ping timeout: 245 seconds) 2018-11-09T23:37:21Z zachk: javascript was slightly modeled on scheme, iirc 2018-11-09T23:38:14Z Zipheir: Usually if you're thinking in terms of mutating stuff through pointers there's probably a better way to do it in the land of lisp. 2018-11-09T23:39:00Z klovett joined #scheme 2018-11-09T23:39:50Z zachk: sometimes mutation is nice 2018-11-09T23:39:54Z safinaskar: "The good parts of JS go back to Scheme and Self, so all credit to Guy, Gerry, David, Craig, et al." /be - Brendan Eich - https://www.jwz.org/blog/2010/10/every-day-i-learn-something-new-and-stupid/#comment-1089 2018-11-09T23:40:21Z grettke joined #scheme 2018-11-09T23:41:11Z on_ion: that feels like a general statement applicable to all or many languages 2018-11-09T23:41:33Z Zipheir: "All credit to Alonzo, Alan and Kurt." 2018-11-09T23:41:49Z zachk: Kurt? Godel? 2018-11-09T23:41:50Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-09T23:41:50Z safinaskar: Ten days to implement the lexer, parser, bytecode emitter (which I folded into the parser; required some code buffering to reorder things like the for(;;) loop head parts and body), interpreter, built-in classes, and decompiler <...> Ten days without much sleep to build JS from scratch, "make it look like Java" (I made it look like C), and smuggle in its saving graces: first class functions (closures 2018-11-09T23:41:56Z safinaskar: came later but were part of the plan), Self-ish prototypes (one per instance, not many as in Self) /be 2018-11-09T23:42:06Z safinaskar: I'll do better in the next life. /be - https://www.jwz.org/blog/2010/10/every-day-i-learn-something-new-and-stupid/#comment-1048 2018-11-09T23:42:42Z Zipheir: The horror, the horror. 2018-11-09T23:45:01Z on_ion: hmm. i don't mind js 2018-11-09T23:45:16Z safinaskar left #scheme 2018-11-09T23:45:21Z Zipheir: zachk: Well, KG's was the third of the definitions of effective computability that are usually mentioned. 2018-11-09T23:45:39Z Zipheir: zachk: If not as famous or influential as the other two. 2018-11-09T23:56:56Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-10T00:01:31Z robotoad quit (Quit: robotoad) 2018-11-10T00:04:52Z dbmikus joined #scheme 2018-11-10T00:09:39Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-10T00:11:43Z elderK joined #scheme 2018-11-10T00:32:03Z dbmikus joined #scheme 2018-11-10T00:34:37Z robotoad joined #scheme 2018-11-10T00:53:10Z klovett_ joined #scheme 2018-11-10T00:56:14Z klovett quit (Ping timeout: 244 seconds) 2018-11-10T01:02:42Z skapata quit (Remote host closed the connection) 2018-11-10T01:06:01Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-10T01:19:09Z lritter quit (Remote host closed the connection) 2018-11-10T01:19:38Z safinaskar joined #scheme 2018-11-10T01:19:48Z safinaskar left #scheme 2018-11-10T01:19:51Z safinaskar joined #scheme 2018-11-10T01:19:56Z safinaskar: hi all 2018-11-10T01:20:01Z safinaskar: why this works? (begin (begin (define x 3)) x) 2018-11-10T01:20:10Z safinaskar: i think "begin" should create new scope, but it seems it doesn't 2018-11-10T01:20:39Z on_ion: because (let (x 3) ..) 2018-11-10T01:21:35Z safinaskar: so, "begin" doesn't create new scope and "let" creates, right? 2018-11-10T01:22:24Z zachk quit (Read error: Connection reset by peer) 2018-11-10T01:22:45Z safinaskar: hmm, (let () (let () (define x 3)) x) gives error, i. e. it gives what i want. thanks 2018-11-10T01:22:51Z Riastradh: safinaskar: That's part of the point of begin -- it _doesn't_ create a new scope. 2018-11-10T01:22:58Z zachk joined #scheme 2018-11-10T01:23:01Z Riastradh: Rather, it splices. This is critical for, e.g., macros. 2018-11-10T01:23:35Z zachk quit (Changing host) 2018-11-10T01:23:35Z zachk joined #scheme 2018-11-10T01:25:00Z on_ion: ah. did not know that; though i've read some of it in the chez manual recently 2018-11-10T01:25:11Z safinaskar: consider this: (begin (define f (lambda () x)) (define x 3) (f)) 2018-11-10T01:25:15Z safinaskar: why this works? 2018-11-10T01:25:40Z Zipheir: Why wouldn't it work? 2018-11-10T01:25:59Z on_ion: x can be referenced before it is defined 2018-11-10T01:26:06Z safinaskar: Zipheir: because "x" is not exists when we define "f" 2018-11-10T01:26:17Z Zipheir: safinaskar: When is x evaluated? 2018-11-10T01:26:26Z on_ion: scheme is dynamic lookup. so x can be anything anytime 2018-11-10T01:26:33Z safinaskar: consider js variant: { let f = (() => x); let x = 3; f(); } 2018-11-10T01:26:37Z Zipheir: on_ion: No it is not. 2018-11-10T01:26:52Z on_ion: no? 2018-11-10T01:27:02Z Zipheir: on_ion: x appears in a lambda body above. It is not evaluated until (f). 2018-11-10T01:27:14Z safinaskar: ooooops, js variant doesn't give error, too 2018-11-10T01:27:19Z on_ion: (begin (define f (lambda () x))) .... also works, if not calling f. 2018-11-10T01:27:19Z safinaskar: i'm surprised 2018-11-10T01:27:40Z realfascism joined #scheme 2018-11-10T01:27:42Z on_ion: Zipheir: right. thats the thing. 2018-11-10T01:27:54Z Riastradh: safinaskar: The variables are bound, and in an environment where the variables are bound, the right-hand side expressions are evaluated to determine their values. 2018-11-10T01:28:10Z realfascism: are there any nosql databases in scheme? like spark ignite hadoop cassandra? would cassandra be nicer if done in scheme? 2018-11-10T01:28:21Z realfascism: ristradh how are you!!??? I have not learned to type 2018-11-10T01:28:26Z Riastradh: safinaskar: If you _use_ the value of x -- rather than simply create a closure over the binding of x -- then it will fail. 2018-11-10T01:28:29Z realfascism is now known as gavino_himself 2018-11-10T01:28:30Z gavino_himself: :) 2018-11-10T01:28:59Z gavino_himself: can chckien scheme liek awful combined with psotgresql outdo LAMP? or is php pretty much as good? 2018-11-10T01:29:18Z safinaskar: well, okey, it seems i understand 2018-11-10T01:29:21Z safinaskar: but consider this: 2018-11-10T01:29:22Z safinaskar: (begin (define x 3) (define f (lambda () x)) (define x 4) (f)) 2018-11-10T01:29:32Z safinaskar: this is absolutely brain-fuck code fragment 2018-11-10T01:29:35Z safinaskar: it gives 4 2018-11-10T01:29:37Z gavino_himself: paul grahan said he forked 1 lisp interpterer per client which would ahve conversatio with client! brilliant! and eh fakeed continuations with closuers is this possible in scheme? 2018-11-10T01:29:38Z safinaskar: why 4???????! 2018-11-10T01:29:43Z safinaskar: why not 3?????????! 2018-11-10T01:29:46Z Riastradh: safinaskar: At the top level, the second definition has the effect of set!. 2018-11-10T01:30:12Z gavino_himself: I really should read sicp and htdp2 2018-11-10T01:30:25Z safinaskar: Riastradh: i am running my last example not in top level 2018-11-10T01:30:55Z Zipheir: safinaskar: Again, when are you evaluating x? 2018-11-10T01:31:12Z Riastradh: Maybe this changed in the R7RS, but prior to that, at least, multiple definitions of the same name in one scope (beneath the top level) is invalid. 2018-11-10T01:31:29Z dbmikus joined #scheme 2018-11-10T01:34:42Z Zipheir: safinaskar: (let ((x 3)) (let ((f (lambda () x))) (let ((x 4)) (f)))) ; => 4 2018-11-10T01:34:55Z Zipheir: safinaskar: Maybe you're being mislead by the defines. 2018-11-10T01:35:38Z Zipheir: Oops, I meant 3. 2018-11-10T01:36:27Z Zipheir: Whereas what you've got doesn't have all the nested scopes. 2018-11-10T01:37:03Z gavino_himself: is scheme used for big data? in fintech? the cmplexity conquered by scheme more easily would seem valuable 2018-11-10T01:47:08Z safinaskar: on_ion: now i understand everything. scheme has lexical scope, not dynamic scope. this is important thing you should understand. if you don't understand, please consult other people in this channel. (begin (define f (lambda () x)) (define x 3) (f)) works, because of "x" is defined in the same scope lambda is created. but (begin (define f (lambda () x)) (let () (define x 3) (f))) doesn't work and should 2018-11-10T01:47:14Z safinaskar: not work, because lambda is created in scope where there is no "x" 2018-11-10T01:50:08Z Zipheir: Right. 2018-11-10T01:51:23Z safinaskar left #scheme 2018-11-10T01:52:28Z zachk quit (Quit: Leaving) 2018-11-10T01:52:39Z klovett joined #scheme 2018-11-10T01:55:39Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-10T02:03:50Z keep_learning quit (Remote host closed the connection) 2018-11-10T02:33:32Z jcowan: I can't imagine there are any surviving Schemes that don't permit internal defines. Some still don't permit internal define-syntax, and there is still a disagreement about whether the body of a let-syntax or let*-syntax constitutes a lexical scope for ordinary variables or not. 2018-11-10T02:33:52Z jcowan: R7RS did not resolve this, partly because of the ignorance of yours truly. 2018-11-10T02:35:00Z siraben: Internal macros seem a little confusing though 2018-11-10T02:35:31Z siraben: Well, then again one should make defines of any sort respect the same scoping rules. 2018-11-10T02:38:22Z jcowan: Oh yes, let-syntax limits the scope of a macro. The question is, is the body a begin-body (splicing) or a let-() body (non-splicing)? 2018-11-10T02:46:02Z safinaskar joined #scheme 2018-11-10T02:46:05Z safinaskar: hi 2018-11-10T02:46:21Z Zipheir: Hi again. 2018-11-10T02:46:34Z safinaskar: (let () (let () (begin (define x 5))) x) 2018-11-10T02:46:38Z safinaskar: this works 2018-11-10T02:46:39Z safinaskar: why? 2018-11-10T02:47:08Z safinaskar: and this doesn't: (let () (let () (define y 5)) y) 2018-11-10T02:47:09Z safinaskar: why? 2018-11-10T02:48:57Z safinaskar: tested on https://repl.it/languages/scheme 2018-11-10T02:49:41Z pierpal joined #scheme 2018-11-10T02:49:57Z Zipheir: safinaskar: The former is an error in CHICKEN. 2018-11-10T02:50:37Z Zipheir: rudybot: eval (let () (let () (begin (define x 5))) x) 2018-11-10T02:50:47Z rudybot: Zipheir: error: with-limit: out of time 2018-11-10T02:50:50Z Zipheir: grr 2018-11-10T02:51:04Z aeth: The robot rebellion has already begun! 2018-11-10T02:51:43Z khisanth_ quit (Ping timeout: 245 seconds) 2018-11-10T02:52:00Z Zipheir: rudybot: Et tu, Brute? 2018-11-10T02:52:01Z rudybot: Zipheir: ESR? Et tu, Brute? 2018-11-10T02:52:54Z safinaskar: so, there is an error in this concrete implementation, right? 2018-11-10T02:53:07Z safinaskar: so, please give me some good online implementation 2018-11-10T02:54:10Z Zipheir: That does seem to be an error, since x should be local to the internal let. 2018-11-10T02:54:36Z safinaskar: Zipheir: so why (let () (let () (begin (define x 5))) x) gives 5? 2018-11-10T02:55:15Z Zipheir: If I'm reading the spec right, it shouldn't. 2018-11-10T02:55:20Z Zipheir: x should be unbound. 2018-11-10T02:55:55Z Zipheir: R5RS: 'The variable defined by an internal definition is local to the .' 2018-11-10T03:05:33Z khisanth_ joined #scheme 2018-11-10T03:08:48Z robotoad quit (Quit: robotoad) 2018-11-10T03:15:08Z dbmikus quit (Quit: WeeChat 2.3) 2018-11-10T03:17:29Z robotoad joined #scheme 2018-11-10T03:33:07Z gavino_himself quit (Remote host closed the connection) 2018-11-10T03:48:49Z safinaskar left #scheme 2018-11-10T03:57:50Z permagreen quit (Remote host closed the connection) 2018-11-10T04:39:34Z emacsomancer quit (Read error: Connection reset by peer) 2018-11-10T04:42:14Z emacsomancer joined #scheme 2018-11-10T04:43:42Z emacsomancer quit (Client Quit) 2018-11-10T04:50:17Z hugh_marera quit (Ping timeout: 244 seconds) 2018-11-10T05:01:39Z ByronJohnson quit (Ping timeout: 244 seconds) 2018-11-10T05:02:17Z ByronJohnson joined #scheme 2018-11-10T05:05:05Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-10T05:07:03Z emacsomancer joined #scheme 2018-11-10T05:35:59Z pierpal quit (Quit: Poof) 2018-11-10T05:36:17Z pierpal joined #scheme 2018-11-10T05:42:51Z Riastradh: jcowan: Answer: let-syntax should be splicing. 2018-11-10T05:42:55Z Riastradh: See? Easy! 2018-11-10T06:05:59Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-10T06:47:34Z jao quit (Ping timeout: 244 seconds) 2018-11-10T06:53:22Z permagreen joined #scheme 2018-11-10T06:53:49Z razzy joined #scheme 2018-11-10T07:31:08Z muelleme joined #scheme 2018-11-10T07:37:13Z muelleme quit (Ping timeout: 246 seconds) 2018-11-10T08:05:27Z copec quit (Ping timeout: 240 seconds) 2018-11-10T08:06:10Z copec joined #scheme 2018-11-10T08:26:57Z skapata joined #scheme 2018-11-10T08:37:33Z ggole joined #scheme 2018-11-10T08:45:28Z razzy quit (Ping timeout: 245 seconds) 2018-11-10T08:57:24Z robotoad quit (Quit: robotoad) 2018-11-10T09:17:33Z flerovite quit (Ping timeout: 245 seconds) 2018-11-10T09:18:20Z flerovite joined #scheme 2018-11-10T09:27:44Z marvin2 quit (Ping timeout: 244 seconds) 2018-11-10T09:46:57Z Zaab1t joined #scheme 2018-11-10T09:54:15Z klovett_ joined #scheme 2018-11-10T09:55:38Z klovett quit (Ping timeout: 268 seconds) 2018-11-10T10:35:48Z webshinra quit (Ping timeout: 252 seconds) 2018-11-10T11:15:12Z brendyn quit (Quit: WeeChat 2.1) 2018-11-10T11:15:42Z brendyyn joined #scheme 2018-11-10T11:31:54Z xkapastel joined #scheme 2018-11-10T11:33:45Z InverseRhombus quit (Remote host closed the connection) 2018-11-10T11:46:46Z alphor quit (Ping timeout: 252 seconds) 2018-11-10T11:47:33Z alphor joined #scheme 2018-11-10T12:04:15Z razzy joined #scheme 2018-11-10T12:30:08Z InverseRhombus joined #scheme 2018-11-10T12:30:35Z InverseRhombus quit (Max SendQ exceeded) 2018-11-10T12:30:58Z InverseRhombus joined #scheme 2018-11-10T13:06:39Z lritter joined #scheme 2018-11-10T13:21:28Z grettke joined #scheme 2018-11-10T13:25:47Z acarrico quit (Ping timeout: 240 seconds) 2018-11-10T13:31:35Z amz3 quit (Changing host) 2018-11-10T13:31:35Z amz3 joined #scheme 2018-11-10T13:35:43Z nly joined #scheme 2018-11-10T14:01:03Z civodul joined #scheme 2018-11-10T14:10:12Z pierpal quit (Quit: Poof) 2018-11-10T14:10:31Z pierpal joined #scheme 2018-11-10T14:16:20Z Inline quit (Quit: Leaving) 2018-11-10T14:26:13Z Inline joined #scheme 2018-11-10T14:27:25Z hugh_marera joined #scheme 2018-11-10T14:31:56Z nly quit (Ping timeout: 260 seconds) 2018-11-10T14:38:14Z siraben: Does anyone know of a microkanren implementation in Scheme with the =/= operator? 2018-11-10T14:41:53Z qu1j0t3: siraben: Yeah, there were revisions with constraints published, check with vanilla in #minikanren (iirc) 2018-11-10T14:42:08Z qu1j0t3: siraben: Byrd might have made some versions available 2018-11-10T14:42:17Z siraben: Oh, constraints means =/= is added? 2018-11-10T14:42:36Z qu1j0t3: yes 2018-11-10T14:42:39Z qu1j0t3: it's a constraint 2018-11-10T14:42:45Z qu1j0t3: the first one you really want, i think 2018-11-10T14:42:54Z siraben: Ah of course. 2018-11-10T14:43:08Z acarrico joined #scheme 2018-11-10T14:43:32Z qu1j0t3: and there has been a little activity on this in the Minikanren google group 2018-11-10T14:45:47Z qu1j0t3: hm, checking.. i thought there was an implementation people were talking about 2018-11-10T14:46:05Z pie_ joined #scheme 2018-11-10T14:50:59Z qu1j0t3: can't quite find it. you could try simply asking for the currently preferred implementation... Byrd and Friedman are both active in that group 2018-11-10T14:58:35Z nly joined #scheme 2018-11-10T15:01:24Z elderK quit (Quit: Connection closed for inactivity) 2018-11-10T15:03:39Z muelleme joined #scheme 2018-11-10T15:09:04Z muelleme quit (Ping timeout: 272 seconds) 2018-11-10T15:13:14Z siraben: http://andykeep.com/SchemeWorkshop2015/papers/sfpw3-2015-hemann-friedman.pdf 2018-11-10T15:13:20Z siraben: I think this is the paper you were referring to. 2018-11-10T15:17:24Z jcowan: Riastradh: You answered an 'is' question with an 'ought'. :-( 2018-11-10T15:18:41Z rain1: siraben: https://github.com/orchid-hybrid/microKanren-sagittarius/blob/master/miruKanren/disequality.scm 2018-11-10T15:19:53Z siraben: rain1: I'm aware of that implementation, but it's not "minimal" 2018-11-10T15:20:15Z jao joined #scheme 2018-11-10T15:20:42Z rain1: yeah it is 2018-11-10T15:21:26Z siraben: Maybe it's just me but I feel that I would not have been able to understand microkanren without reading the original paper 2018-11-10T15:21:50Z siraben: So I see the code but I don't understand why it implements =/=. 2018-11-10T15:21:58Z rain1: have you tried reading the comments 2018-11-10T15:22:02Z siraben: Not why, sorry, I mean how 2018-11-10T15:23:08Z siraben: Yes, I have tried. 2018-11-10T15:25:02Z rain1: in mk-diseq there are 2 constraint stores. one for unification and one for disequalities. when you do (== x y) it adds to the unification constraint store and when you do (=/= x y) it adds to the disequality constraint store 2018-11-10T15:25:55Z rain1: when you solve unification constraints you get a substitution which can be interpreted as a list of normalized equations 2018-11-10T15:27:25Z rain1: normalizing the disequality store means doing things like: deleting (=/= 'a 'b), turning (=/= (cons 'a x) (cons 'b y)) into (=/= x y), (=/= (cons x y) (cons u v)) into (or (=/= x u) (=/= y v)) 2018-11-10T15:28:00Z rain1: normalization is implemented by making use of the substitution you get from unification under de morgans law 2018-11-10T16:00:40Z siraben: Ah, that helps my understanding. Thanks! 2018-11-10T16:15:11Z Riastradh: jcowan: Exactly, whoever implements it differently is wrong! 2018-11-10T16:15:32Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-10T16:16:06Z jcowan: I have however been giving serious thought to the question of Racket-style keywords. 2018-11-10T16:18:56Z jcowan: I think I understand the reasons for making them non-self-evaluating, but I think it is unnecessary and will raise strong resistance in other implementers. 2018-11-10T16:20:09Z jcowan: The core Racketeers will not be moved by anything that R7RS-* does, so their opinion of what use I make of their ideas is irrelevant, unless indeed it leads to a public campaign against R7RS-*. 2018-11-10T16:23:57Z klovett joined #scheme 2018-11-10T16:26:55Z Riastradh: If they're self-evaluating, what arguments does (f #:x 3) pass? 2018-11-10T16:27:28Z klovett_ quit (Ping timeout: 246 seconds) 2018-11-10T16:29:26Z jcowan: In that context, #:x is not an argument and so is not evaluated. At least, so I think now. I need to study Racket further, though. 2018-11-10T16:29:39Z marvin2 joined #scheme 2018-11-10T16:29:41Z acarrico quit (Ping timeout: 268 seconds) 2018-11-10T16:30:18Z jcowan: What I wish to not support is something like (let ((x #:x)) (f x 3)) 2018-11-10T16:30:31Z jcowan: that is, keywords in function calls must be manifest 2018-11-10T16:30:50Z Riastradh: What does (let ((x #:x) (y 3)) x) do? 2018-11-10T16:31:35Z jcowan: returns #:x 2018-11-10T16:31:48Z Riastradh: What does ((lambda (x y) x) #:x 3) do? 2018-11-10T16:32:29Z jcowan: It's an error 2018-11-10T16:32:43Z Riastradh: So there's no longer a let<->lambda equivalence? 2018-11-10T16:33:05Z jcowan: In the presence of keywords, yes. Hmmm. 2018-11-10T16:35:12Z jcowan: I suppose a way around this is to use a different name and lexical syntax for keywords-in-function-calls and not allow them to be values. 2018-11-10T16:35:31Z jcowan: "argument names" 2018-11-10T16:38:32Z jcowan: I note that Racket keywords break `apply`, requiring you to call `keyword-apply` instead. 2018-11-10T16:38:52Z Riastradh: Not exactly. For all procedures that apply worked on before, it still works. 2018-11-10T16:39:26Z Riastradh: If you want to allow arbitrary keyword arguments and pass them along, then yes, you need keyword-apply. 2018-11-10T16:40:56Z jcowan: Well, sure. But that means that keyword-procedures are now a slightly different type from procedures. 2018-11-10T16:44:56Z jcowan rereads Flatt's paper 2018-11-10T16:53:39Z InverseRhombus joined #scheme 2018-11-10T16:58:11Z hugh_marera_ joined #scheme 2018-11-10T16:59:38Z hugh_marera quit (Ping timeout: 245 seconds) 2018-11-10T16:59:39Z hugh_marera_ is now known as hugh_marera 2018-11-10T17:02:48Z hugh_marera quit (Client Quit) 2018-11-10T17:19:46Z muelleme joined #scheme 2018-11-10T17:21:11Z jcowan: Arcfide keywords, which are fully portable to R5RS, are equivalent in power to CL keywords, but fall down on the inability of the R6RS/R7RS library system to ignore distinct but lexically identical bindings of the same identifier in different libraries, which would create conflicts. 2018-11-10T17:22:46Z jcowan: Backquote+plist+let-keyword is also portable (assuming that let-keyword can be defined with syntax-rules) and is very nearly as convenient as CL keywords with no conflicts possible. 2018-11-10T17:24:36Z muelleme quit (Ping timeout: 272 seconds) 2018-11-10T17:43:48Z on_ion: =) 2018-11-10T17:47:54Z nly quit (Read error: Connection reset by peer) 2018-11-10T17:59:01Z DKordic joined #scheme 2018-11-10T18:03:26Z klovett_ joined #scheme 2018-11-10T18:06:18Z klovett quit (Ping timeout: 245 seconds) 2018-11-10T18:10:55Z zachk joined #scheme 2018-11-10T18:11:30Z zachk quit (Changing host) 2018-11-10T18:11:30Z zachk joined #scheme 2018-11-10T18:19:05Z nly joined #scheme 2018-11-10T18:20:50Z muelleme joined #scheme 2018-11-10T18:21:16Z alezost joined #scheme 2018-11-10T18:25:35Z muelleme quit (Ping timeout: 244 seconds) 2018-11-10T18:33:16Z dbmikus joined #scheme 2018-11-10T18:56:29Z robotoad joined #scheme 2018-11-10T19:12:03Z dkmueller joined #scheme 2018-11-10T19:14:01Z dkmueller quit (Client Quit) 2018-11-10T19:15:08Z Zaab1t quit (Quit: bye bye friends) 2018-11-10T19:16:01Z dkmueller joined #scheme 2018-11-10T19:16:32Z dkmueller quit (Client Quit) 2018-11-10T19:17:18Z dkmueller joined #scheme 2018-11-10T19:53:51Z dbmikus quit (Quit: WeeChat 1.9.1) 2018-11-10T19:55:52Z ggole quit (Quit: ggole) 2018-11-10T20:02:18Z pie_ quit (Ping timeout: 252 seconds) 2018-11-10T20:06:29Z Zipheir: What's a backquote-plist-let keyword? Web search is unenlightening. 2018-11-10T20:07:11Z ecraven: backquote is ` 2018-11-10T20:07:20Z ecraven: plist is probably a list like '(:foo 1 :bar 2 :baaz 3) 2018-11-10T20:07:32Z ecraven: let-keyword is some form of let, related to keywords 2018-11-10T20:07:58Z ecraven: plist as opposed to alist, which would be '((:foo . 1) (:bar . 2) (:baaz . 3)) 2018-11-10T20:08:07Z ecraven: I think it stands for property list 2018-11-10T20:08:12Z ecraven: against association list? 2018-11-10T20:08:15Z Zipheir: Something like (foo `(key1 ,val1 ... keyn ,valn)), and foo takes that apart with let/assv, I assume. 2018-11-10T20:08:43Z ecraven: not sure how that would look exactly :-/ jcowan ^ 2018-11-10T20:09:20Z Zipheir: Oh, let-keyword 2018-11-10T20:10:31Z Zipheir: Yeah, I'm curious as well. 2018-11-10T20:11:41Z Zipheir: Oops, not assv, it's a plist. 2018-11-10T20:13:02Z ecraven: emacs calls them plist-get and plist-put 2018-11-10T20:13:58Z ecraven: I think it's getf in CL.. (getf plist indicator) and (setf (getf plist indicator) value) 2018-11-10T20:19:42Z robotoad quit (Ping timeout: 268 seconds) 2018-11-10T20:22:39Z webshinra joined #scheme 2018-11-10T20:28:49Z pie_ joined #scheme 2018-11-10T20:29:11Z jcowan: I am not a syntax-rules programmer, alas, but I imagine a shape like (let-keywords . ), where the variables in the lambda-list are initially bound to some distinguished object and then the , which must evaluate to a plist, is searched to assign values to the variables based on the keywords. I fear this may be unhygienic, but perhaps not. 2018-11-10T20:29:40Z rain1: yeah the thing Riastradh pointed out about keywords is a really tricky problem 2018-11-10T20:30:07Z pie_ quit (Read error: Connection reset by peer) 2018-11-10T20:30:11Z jcowan: that's why #:foo is syntactic magic in Racket and only '#:foo is a value 2018-11-10T20:30:25Z rain1: hmm 2018-11-10T20:30:36Z pie_ joined #scheme 2018-11-10T20:32:35Z Riastradh: You can always write plist crap with macros and what have you. If you're going to endorse a language-level thing, you should do Racket keyword semantics. 2018-11-10T20:33:02Z pie_ quit (Remote host closed the connection) 2018-11-10T20:33:16Z jcowan: On the whole I prefer the crap, I think. 2018-11-10T20:33:30Z jcowan: The best is the enemy of the good. 2018-11-10T20:35:06Z Riastradh: Just try not to get in the way of good keywords. 2018-11-10T20:35:13Z jcowan shrugs. 2018-11-10T20:35:20Z rain1: so if you add keywords wth the syntax magic thing 2018-11-10T20:35:38Z rain1: how does that interact with writing macros that do things with syntax that includes keywords in them? 2018-11-10T20:35:40Z jcowan: p-lists obviously don't need any lexical syntax 2018-11-10T20:35:52Z rain1: this seems problematic 2018-11-10T20:35:56Z Riastradh: rain1: What interactions are you wondering about? 2018-11-10T20:35:56Z jcowan decides to bite another bullet and try to undersatnd R6RS record constructors. 2018-11-10T20:36:19Z Riastradh: Biting bullets seems hazardous to one's health. What if they go off in your mouth? 2018-11-10T20:36:27Z jcowan: s/constructors/&-descriptors 2018-11-10T20:36:38Z jcowan: Not cartridged bullets, just the lump of lead. 2018-11-10T20:36:52Z rain1: Riastradh: well if i define my-let in terms of lambda then write #:kwd like you showed above 2018-11-10T20:37:03Z rain1: does the system reject that before expansion? 2018-11-10T20:37:11Z jcowan: They used to give you one during unanesthetized field surgery to distract you from screaming. 2018-11-10T20:37:27Z rain1: or does it simply expand it and see that the keyword is in an ok place and accept it? 2018-11-10T20:37:30Z Riastradh: rain1: No, after expansion (and of course it would be nice if the expander tracked history). 2018-11-10T20:37:40Z Riastradh: rain1: Same as any other syntax error in a macro expansion. 2018-11-10T20:37:54Z rain1: by what mechanism would it reject it after expansion? given that it ends up in a syntactically valid lambda 2018-11-10T20:38:11Z rain1: would you use something like scope sets to say that the keyword has to have the same scope as the procedure call site? 2018-11-10T20:38:13Z Riastradh: Oh, sorry, not a syntax error, but a runtime error of wrong arguments. 2018-11-10T20:38:24Z Riastradh: (which is, of course, syntactically obvious, so the compiler could tell you about it) 2018-11-10T20:43:09Z ngz joined #scheme 2018-11-10T20:49:55Z pierpal quit (Ping timeout: 268 seconds) 2018-11-10T20:54:59Z dkmueller quit (Quit: leaving) 2018-11-10T20:56:09Z jcowan: What about keyword arguments in *macro* definitions? 2018-11-10T20:57:45Z Riastradh: Dunno, haven't thought about that. 2018-11-10T20:57:47Z jcowan: Also, I note from Flatt's paper that the mechanism requires applicable records to be deeply wired into the bottom level, which fortunately they already were in Racket. As we saw earlier, applicable-records-as-procedures are fine, if messy, macrology, but can't handle a type predicate at all (how do you ask a random procedure if it is a record, much less a record of a given type?) 2018-11-10T20:57:51Z Riastradh: Maybe someone in Racketland has? 2018-11-10T20:58:27Z Riastradh: The mechanism doesn't intrinsically require anything about applicable records. 2018-11-10T20:58:31Z dkmueller joined #scheme 2018-11-10T21:03:07Z jcowan: I meant "the mechanism used in Racket". 2018-11-10T21:03:27Z dkmueller quit (Quit: leaving) 2018-11-10T21:03:36Z jcowan: One thing I will cheerfully adopt from that paper is the syntax-rules definition of optional arguments. 2018-11-10T21:03:44Z dkmueller joined #scheme 2018-11-10T21:03:59Z muelleme joined #scheme 2018-11-10T21:05:06Z dbmikus joined #scheme 2018-11-10T21:08:36Z muelleme quit (Ping timeout: 260 seconds) 2018-11-10T21:12:44Z pie_ joined #scheme 2018-11-10T21:35:34Z robotoad joined #scheme 2018-11-10T21:40:00Z rain2 quit (Quit: WeeChat 2.2) 2018-11-10T21:48:30Z daviid quit (Ping timeout: 268 seconds) 2018-11-10T22:00:43Z stux16777216Away quit (Ping timeout: 250 seconds) 2018-11-10T22:08:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-10T22:17:11Z dbmikus quit (Ping timeout: 250 seconds) 2018-11-10T22:29:09Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-10T22:34:45Z flerovite quit (Ping timeout: 268 seconds) 2018-11-10T22:35:07Z flerovite joined #scheme 2018-11-10T22:36:40Z stux|work joined #scheme 2018-11-10T22:39:02Z klovett joined #scheme 2018-11-10T22:43:23Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-10T22:46:25Z pierpal joined #scheme 2018-11-10T22:50:38Z pierpal quit (Ping timeout: 244 seconds) 2018-11-10T22:51:50Z daviid joined #scheme 2018-11-10T22:58:07Z jcowan has been defeated by R6RS record construction protocols once again 2018-11-10T23:12:23Z dbmikus joined #scheme 2018-11-10T23:13:20Z mejja joined #scheme 2018-11-10T23:21:30Z daviid quit (Ping timeout: 252 seconds) 2018-11-10T23:37:47Z lritter quit (Quit: Leaving) 2018-11-10T23:44:01Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-10T23:48:00Z robotoad quit (Quit: robotoad) 2018-11-10T23:49:02Z klovett_ joined #scheme 2018-11-10T23:50:46Z permagreen quit (Remote host closed the connection) 2018-11-10T23:52:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-10T23:57:53Z skapata quit (Remote host closed the connection) 2018-11-11T00:03:18Z ngz quit (Ping timeout: 252 seconds) 2018-11-11T00:05:24Z klovett joined #scheme 2018-11-11T00:07:37Z klovett_ quit (Ping timeout: 252 seconds) 2018-11-11T00:18:15Z grettke joined #scheme 2018-11-11T00:32:13Z greaser|q quit (Changing host) 2018-11-11T00:32:13Z greaser|q joined #scheme 2018-11-11T00:32:20Z greaser|q is now known as GreaseMonkey 2018-11-11T00:33:31Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-11T00:46:09Z zbigniew joined #scheme 2018-11-11T00:48:26Z pierpal joined #scheme 2018-11-11T00:53:11Z pierpal quit (Ping timeout: 260 seconds) 2018-11-11T01:00:52Z on_ion: =o 2018-11-11T01:04:57Z mejja: rudybot, Ladies and Gentlemen: https://groups.csail.mit.edu/mac/ftpdir/scheme-mail/HTML/rrrs-1987/msg00164.html 2018-11-11T01:05:04Z rudybot: mejja: ,,stefan-justification is http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00164.html 2018-11-11T01:10:49Z zachk quit (Quit: Leaving) 2018-11-11T01:12:37Z elderK joined #scheme 2018-11-11T01:18:14Z Zipheir: "... we employed Moon's Maxim: Do Not Standardize On Research. ... If you follow this, you will not include any technically flawed features, only technically retarded ones." 2018-11-11T01:18:19Z Zipheir: :) 2018-11-11T01:28:42Z deuill quit (Ping timeout: 264 seconds) 2018-11-11T01:30:13Z mejja: rudybot, We actively tried to exclude people from our inner circle. 2018-11-11T01:30:22Z rudybot: mejja: ,dc erc-track-exclude-types 2018-11-11T01:32:27Z permagreen joined #scheme 2018-11-11T01:35:16Z Zipheir: Very interesting stuff. 2018-11-11T01:36:08Z daviid joined #scheme 2018-11-11T01:36:20Z mejja: jcowan, _Standardization is codifying and specifying existing, proven practice with minor cleanup_ 2018-11-11T01:38:10Z lambda-11235 joined #scheme 2018-11-11T01:40:19Z pierpal joined #scheme 2018-11-11T01:47:31Z jcowan: mejja: That's an ideal to shoot for, but it's not always the case. 2018-11-11T01:49:14Z jcowan: In particular, standard Scheme is *very* technically retarded. I'm trying to lay foundations. If the community doesn't like them, they can vote them out of the standard. 2018-11-11T01:52:17Z jcowan: I note the phrase "If Scheme currently includes only necessary features" in the RPG letter. It doesn't and never has. `length` is not a necessary feature (you can define it yourself easily) and yet it is in all Scheme standards and even in CL. 2018-11-11T01:56:00Z xkapastel joined #scheme 2018-11-11T01:56:12Z dkmueller quit (Quit: Lost terminal) 2018-11-11T01:58:23Z aeth: On the other hand, if you only want to implement features that can't necessarily be implemented efficiently yourself, Scheme doesn't offer that, either, since it doesn't offer hash tables. 2018-11-11T01:58:51Z jcowan: R6RS does. 2018-11-11T01:58:57Z aeth: We're counting r6rs now? 2018-11-11T01:58:57Z jcowan: as does R7RS-Red 2018-11-11T01:59:18Z gwatt: r6rs is still scheme 2018-11-11T01:59:23Z jcowan: It's a flawed standard, but all standards are flawed. Parts of the community have decided to live with it, parts have not. 2018-11-11T02:20:10Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T02:23:22Z Riastradh: The R6RS is older now than the R5RS was when the R6RS was finalized. 2018-11-11T02:33:16Z acarrico joined #scheme 2018-11-11T02:35:51Z robotoad joined #scheme 2018-11-11T02:36:16Z mejja: Riastradh: Can you build the microcode with CFLAGS=-Os? 2018-11-11T02:38:45Z grettke joined #scheme 2018-11-11T02:44:39Z Riastradh: mejja: I can now! 2018-11-11T02:46:29Z mejja: ha! 2018-11-11T02:50:51Z mejja: I think I need a new c compiler.. 2018-11-11T02:55:00Z keep_learning joined #scheme 2018-11-11T02:55:46Z Riastradh: mejja: What now? 2018-11-11T02:56:36Z mejja: same error 2018-11-11T02:56:45Z Riastradh: What is it? 2018-11-11T02:57:05Z mejja: bits.h:77:19: error: inlining failed in call to ‘ulong_bit_count’ 2018-11-11T02:57:17Z Riastradh: Rerun Setup.sh. 2018-11-11T03:01:50Z mejja: running make CFLAGS=-Os in microcode/ works but not ./configure CFLAGS=-Os & make 2018-11-11T03:04:12Z Riastradh: Works for me, what happens when you try? 2018-11-11T03:10:13Z mejja: Not for me. 2018-11-11T03:10:22Z Riastradh: ...what happens when you try? 2018-11-11T03:11:02Z mejja: Same error. bits.h:77:19: error: inlining failed in call to ‘ulong_bit_count’ 2018-11-11T03:11:15Z Riastradh: Is it being compiled with -Winline? What compiler, what version? 2018-11-11T03:13:00Z mejja: gcc 7.3.0 2018-11-11T03:13:15Z robotoad quit (Quit: robotoad) 2018-11-11T03:25:50Z robotoad joined #scheme 2018-11-11T03:44:36Z mejja quit (Quit: mejja) 2018-11-11T03:52:14Z pie_ quit (Ping timeout: 272 seconds) 2018-11-11T03:52:18Z Riastradh quit (Ping timeout: 252 seconds) 2018-11-11T03:59:42Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T04:01:58Z Riastradh joined #scheme 2018-11-11T04:13:31Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-11T04:15:02Z buhman joined #scheme 2018-11-11T04:17:30Z grettke joined #scheme 2018-11-11T04:30:45Z lockywolf joined #scheme 2018-11-11T04:39:25Z TheGreekOwl quit (Read error: Connection reset by peer) 2018-11-11T04:39:53Z TheGreekOwl joined #scheme 2018-11-11T04:44:24Z xkapastel joined #scheme 2018-11-11T04:56:07Z lockywolf_ joined #scheme 2018-11-11T04:56:19Z lockywolf_ quit (Remote host closed the connection) 2018-11-11T04:56:38Z lockywolf_ joined #scheme 2018-11-11T04:56:57Z lockywolf quit (Ping timeout: 244 seconds) 2018-11-11T05:00:07Z daviid quit (Ping timeout: 240 seconds) 2018-11-11T05:00:15Z dbmikus quit (Quit: WeeChat 1.9.1) 2018-11-11T05:02:45Z lockywolf__ joined #scheme 2018-11-11T05:05:13Z lockywolf_ quit (Ping timeout: 244 seconds) 2018-11-11T05:36:53Z pie_ joined #scheme 2018-11-11T05:42:32Z pie_ quit (Excess Flood) 2018-11-11T05:44:06Z pie_ joined #scheme 2018-11-11T05:58:54Z nly quit (Ping timeout: 272 seconds) 2018-11-11T05:59:22Z lockywolf__ quit (Ping timeout: 268 seconds) 2018-11-11T06:02:10Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T06:04:55Z klovett_ joined #scheme 2018-11-11T06:06:43Z klovett quit (Ping timeout: 245 seconds) 2018-11-11T06:07:02Z grettke joined #scheme 2018-11-11T06:08:39Z nly joined #scheme 2018-11-11T06:50:47Z ggole joined #scheme 2018-11-11T06:52:41Z jao quit (Ping timeout: 244 seconds) 2018-11-11T07:01:15Z stux|work quit (Quit: Aloha!) 2018-11-11T07:04:15Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T07:09:47Z lambda-11235 quit (Quit: Bye) 2018-11-11T07:15:42Z flerovite quit (Read error: Connection reset by peer) 2018-11-11T07:16:19Z flerovite joined #scheme 2018-11-11T07:34:15Z stux|work joined #scheme 2018-11-11T07:36:00Z zbigniew quit (Quit: leaving) 2018-11-11T07:37:20Z grettke joined #scheme 2018-11-11T08:10:25Z hugh_marera joined #scheme 2018-11-11T08:24:58Z hugh_marera quit (Read error: Connection reset by peer) 2018-11-11T08:25:14Z hugh_marera joined #scheme 2018-11-11T08:25:31Z hugh_marera quit (Remote host closed the connection) 2018-11-11T08:31:04Z muelleme joined #scheme 2018-11-11T08:36:22Z muelleme quit (Ping timeout: 250 seconds) 2018-11-11T08:40:30Z ggole quit (Ping timeout: 252 seconds) 2018-11-11T08:41:19Z ggole joined #scheme 2018-11-11T08:43:32Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-11T09:02:54Z muelleme joined #scheme 2018-11-11T09:07:33Z lavaflow quit (Ping timeout: 245 seconds) 2018-11-11T09:08:54Z muelleme quit (Ping timeout: 272 seconds) 2018-11-11T09:17:58Z lavaflow joined #scheme 2018-11-11T09:25:25Z dkmueller joined #scheme 2018-11-11T09:27:29Z pierpal quit (Read error: Connection reset by peer) 2018-11-11T09:27:40Z pierpal joined #scheme 2018-11-11T09:28:04Z marvin2 quit (Ping timeout: 252 seconds) 2018-11-11T09:49:20Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T09:58:26Z skapata joined #scheme 2018-11-11T09:58:40Z safinaskar joined #scheme 2018-11-11T09:59:25Z safinaskar left #scheme 2018-11-11T10:18:59Z IstiCusi joined #scheme 2018-11-11T10:19:05Z IstiCusi quit (Client Quit) 2018-11-11T10:27:49Z Zaab1t joined #scheme 2018-11-11T10:28:06Z IstiCusi joined #scheme 2018-11-11T10:28:14Z IstiCusi quit (Client Quit) 2018-11-11T10:28:41Z IstiCusi joined #scheme 2018-11-11T10:33:36Z IstiCusi quit (Quit: WeeChat 2.2) 2018-11-11T11:06:53Z muelleme joined #scheme 2018-11-11T11:06:53Z civodul joined #scheme 2018-11-11T11:14:16Z marvin2 joined #scheme 2018-11-11T11:33:44Z robotoad quit (Quit: robotoad) 2018-11-11T11:42:52Z ngz joined #scheme 2018-11-11T11:49:58Z ngz quit (Ping timeout: 252 seconds) 2018-11-11T12:03:34Z TheJulia12 joined #scheme 2018-11-11T12:03:51Z TheJulia12 quit (Remote host closed the connection) 2018-11-11T12:49:27Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-11T12:55:52Z Guest8202 joined #scheme 2018-11-11T12:56:37Z klovett joined #scheme 2018-11-11T13:12:33Z Guest8202 quit (Ping timeout: 252 seconds) 2018-11-11T13:20:03Z klovett quit (Ping timeout: 245 seconds) 2018-11-11T13:22:19Z klovett joined #scheme 2018-11-11T13:22:51Z xkapastel joined #scheme 2018-11-11T13:27:47Z brendyyn quit (Ping timeout: 240 seconds) 2018-11-11T13:30:19Z alezost joined #scheme 2018-11-11T13:32:26Z ngz` joined #scheme 2018-11-11T13:46:10Z AhoChan left #scheme 2018-11-11T14:03:09Z ngz` quit (Ping timeout: 252 seconds) 2018-11-11T14:05:55Z nly quit (Ping timeout: 268 seconds) 2018-11-11T14:07:00Z muelleme quit (Ping timeout: 252 seconds) 2018-11-11T14:08:00Z keep_learning quit (Remote host closed the connection) 2018-11-11T14:18:46Z ggole quit (Ping timeout: 260 seconds) 2018-11-11T14:21:07Z ggole joined #scheme 2018-11-11T14:31:45Z cross quit (Ping timeout: 252 seconds) 2018-11-11T14:59:02Z lritter joined #scheme 2018-11-11T14:59:16Z terpri quit (Remote host closed the connection) 2018-11-11T14:59:41Z terpri joined #scheme 2018-11-11T15:03:10Z muelleme joined #scheme 2018-11-11T15:09:42Z muelleme quit (Ping timeout: 252 seconds) 2018-11-11T15:38:19Z samlamamma joined #scheme 2018-11-11T15:39:26Z samlamamma: Hey, how do you do tracing GC in a language that has continuations? (since you dynamically allocate new roots) 2018-11-11T15:40:40Z dbmikus joined #scheme 2018-11-11T15:43:46Z samlamamma quit (Remote host closed the connection) 2018-11-11T15:43:54Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-11T15:53:46Z dbmikus quit (Remote host closed the connection) 2018-11-11T16:00:09Z alelos joined #scheme 2018-11-11T16:12:21Z elderK quit (Quit: Connection closed for inactivity) 2018-11-11T16:23:22Z dbmikus joined #scheme 2018-11-11T16:29:11Z jao joined #scheme 2018-11-11T16:43:36Z Inline quit (Quit: Leaving) 2018-11-11T16:51:21Z Inline joined #scheme 2018-11-11T16:58:11Z klovett_ joined #scheme 2018-11-11T17:01:31Z hugo quit (Quit: WeeChat 1.9.1) 2018-11-11T17:02:20Z klovett quit (Ping timeout: 276 seconds) 2018-11-11T17:06:13Z grettke joined #scheme 2018-11-11T17:28:32Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-11T17:41:13Z hugo joined #scheme 2018-11-11T17:55:28Z jao quit (Remote host closed the connection) 2018-11-11T17:59:11Z pie_ quit (Ping timeout: 244 seconds) 2018-11-11T18:02:23Z muelleme joined #scheme 2018-11-11T18:03:47Z nly joined #scheme 2018-11-11T18:07:39Z muelleme quit (Ping timeout: 268 seconds) 2018-11-11T18:14:16Z vyzo joined #scheme 2018-11-11T18:27:33Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T18:35:42Z jao joined #scheme 2018-11-11T18:45:18Z jcowan: Riastradh: R5RS was really only a bugfix version of R4RS, other than pulling syntax-rules into the main body of the standard. 2018-11-11T18:47:37Z jcowan: So from R2RS, when Scheme standardization begins, to R4RS is six years, then 16 years to R6RS, then 6 more to R7RS-small, and 5 years have passed since then. 2018-11-11T18:48:48Z pierpal quit (Ping timeout: 252 seconds) 2018-11-11T18:54:57Z on_ion: hmm. guile says it is just R5RS 2018-11-11T19:03:29Z Zipheir: They're aiming at R7 compliance, but it seems that effort is stalled. 2018-11-11T19:04:03Z on_ion: hrm. well designed language, though 2018-11-11T19:04:15Z pierpal joined #scheme 2018-11-11T19:04:19Z on_ion: (and goops) 2018-11-11T19:09:11Z klovett joined #scheme 2018-11-11T19:09:27Z alezost joined #scheme 2018-11-11T19:09:53Z brendyyn joined #scheme 2018-11-11T19:12:33Z klovett_ quit (Ping timeout: 245 seconds) 2018-11-11T19:13:55Z nly quit (Read error: Connection reset by peer) 2018-11-11T19:15:37Z pie_ joined #scheme 2018-11-11T19:15:43Z ggole quit (Quit: ggole) 2018-11-11T19:26:20Z jcowan: ski, Zipheir: my functor/idiom/monad pre-SRFI is ready for review at https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ContextsCowan.md 2018-11-11T19:26:46Z jcowan: it's just a sketch, but indicates my current set of ideas 2018-11-11T19:37:12Z robotoad joined #scheme 2018-11-11T19:37:54Z jcowan: Oops, forgot to define idiom-sequence. Fixed. 2018-11-11T19:41:51Z Zipheir: jcowan: Great, can't wait to take a look. 2018-11-11T19:53:54Z muelleme joined #scheme 2018-11-11T19:54:39Z rain1: what about making the context a dynamically bound variable 2018-11-11T20:06:32Z Zipheir: jcowan: I'm assuming (monad-bind c mproc cobj ...) applies mproc to the unwrapped cobjs in sequence. The document just says 'applies mproc to their values, and returns the results wrapped in the context.' 2018-11-11T20:08:32Z Zipheir: (That's the only way it seems to make sense, since mproc : obj -> cobj isn't variadic, IIUC.) 2018-11-11T20:10:38Z jcowan: yes, sorry, forgot to patch it up 2018-11-11T20:11:22Z muelleme quit (Quit: WeeChat 1.5) 2018-11-11T20:11:46Z jcowan: I really am not a fan of dynamic binding, because if you are writing a library you have to write (parameterize ...) around every call whose results depend on a parameter in order to be sure you get the results you want. Cf. the use of comparator arguments for sets, hashtables, etc. 2018-11-11T20:12:01Z rain1: ok 2018-11-11T20:12:14Z jcowan: Granted, you normally only have to pass in a comparator when creating a data structure. 2018-11-11T20:12:44Z Riastradh: rain1: You really don't want it to be dynamically bound because it doesn't follow a dynamic extent. You really want it to be statically associated with the code you're using... 2018-11-11T20:12:51Z Riastradh: ..e.g., by having it be part of the static type... 2018-11-11T20:13:11Z rain1: oh yeah i see that now 2018-11-11T20:13:19Z jcowan: If you want Haskell/Scala/Hackett you know where to find them. 2018-11-11T20:13:48Z jcowan: In principle I suppose the instance could be found by having a table mapping type predicates to instances. 2018-11-11T20:18:21Z daviid joined #scheme 2018-11-11T20:23:42Z Zipheir: jcowan: Is it implied that mprocs can be impure? 2018-11-11T20:24:08Z jcowan: Yes, it's your foot, shoot it if you want. 2018-11-11T20:24:15Z Zipheir: Heh 2018-11-11T20:24:25Z grettke joined #scheme 2018-11-11T20:24:34Z Zipheir: Well, with things like monad-and-then that apply an mproc but discard the result... 2018-11-11T20:24:49Z jcowan: for that matter, procs can be impure 2018-11-11T20:25:22Z jcowan: and-then (Haskell >>) tends to come up in the IO monad, which in our case is all the rest of Scheme. 2018-11-11T20:25:44Z Zipheir: Right, that's why I'm curious as to its intended use here. 2018-11-11T20:26:26Z Riastradh: In Haskell, of course, the parts of your program that _can_ have effects are set apart from those that are guaranteed not to by their static types, so it's clear. 2018-11-11T20:32:08Z Zipheir: I guess the question is whether it's possible to do effectful programming with contexts. 2018-11-11T20:32:35Z Zipheir: AFAICT, why not. 2018-11-11T20:51:34Z cross joined #scheme 2018-11-11T20:52:26Z _rht joined #scheme 2018-11-11T20:58:31Z cross quit (Remote host closed the connection) 2018-11-11T21:06:57Z inode joined #scheme 2018-11-11T21:23:25Z pierpal quit (Ping timeout: 250 seconds) 2018-11-11T21:39:37Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-11T21:41:06Z dbmikus joined #scheme 2018-11-11T21:57:21Z mange joined #scheme 2018-11-11T22:01:35Z Zaab1t quit (Quit: bye bye friends) 2018-11-11T22:08:06Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-11T22:08:17Z jcowan: You could certainly have an IO type consisting of any old parameterless procedure. 2018-11-11T22:08:35Z jcowan: But do you mean effectful or side-effectful? 2018-11-11T22:08:41Z jcowan: Zipheir: ^^ 2018-11-11T22:10:01Z Zipheir: Blah, I don't know what I meant. Obviously idioms/monads can do effectful programming. 2018-11-11T22:10:58Z Zipheir: Too much random thinking and not enough coffee. 2018-11-11T22:12:14Z pierpal joined #scheme 2018-11-11T22:15:58Z lritter quit (Remote host closed the connection) 2018-11-11T22:38:22Z phlm joined #scheme 2018-11-11T22:40:36Z daviid quit (Ping timeout: 252 seconds) 2018-11-11T22:52:21Z dkmueller quit (Quit: Lost terminal) 2018-11-11T22:52:44Z dkmueller joined #scheme 2018-11-11T22:56:29Z phlm quit (Remote host closed the connection) 2018-11-11T22:57:56Z ngz` joined #scheme 2018-11-11T23:04:30Z ngz` is now known as ngz 2018-11-11T23:06:51Z enderby joined #scheme 2018-11-11T23:11:44Z _rht quit (Quit: Connection closed for inactivity) 2018-11-11T23:21:34Z trafaret1 joined #scheme 2018-11-11T23:21:36Z trafaret1: hi there 2018-11-11T23:23:15Z on_ion: hello 2018-11-11T23:28:51Z mange quit (Ping timeout: 260 seconds) 2018-11-11T23:30:30Z trafaret1: Is there big difference between CL and Scheme? 2018-11-11T23:30:49Z on_ion: nah, kind of 2018-11-11T23:30:53Z trafaret1: I just decided to learn one lisp famaly langauge 2018-11-11T23:30:59Z on_ion: scheme is a good start 2018-11-11T23:31:12Z on_ion: i think it is more appropriate as a start than CL 2018-11-11T23:31:23Z wasamasa: trafaret1: is there a big difference between java and javascript? 2018-11-11T23:31:36Z on_ion: yes 2018-11-11T23:31:40Z on_ion: =O 2018-11-11T23:31:54Z wasamasa: they both belong to the algol family after all 2018-11-11T23:32:35Z on_ion: we can be pedantic or we can help the guy out 2018-11-11T23:32:39Z trafaret1: is it also possible to programm smart devices for IoT in scheme? 2018-11-11T23:33:09Z wasamasa: the question is rather whether you'd want to do that... 2018-11-11T23:33:22Z wasamasa: these devices aren't as smart as they believe 2018-11-11T23:33:28Z on_ion: .... 2018-11-11T23:33:32Z on_ion: wasamasa are you helping or 2018-11-11T23:33:32Z wasamasa: some of them are rather restricted in what runs on them 2018-11-11T23:34:33Z trafaret1: wasamasa: maybe there are some hardware for lisp famaly? 2018-11-11T23:34:41Z wasamasa: there is, yes 2018-11-11T23:34:46Z wasamasa: but it's not like it runs anywhere 2018-11-11T23:34:54Z on_ion: ...... 2018-11-11T23:34:58Z wasamasa: you are limited by the vendor of your hardware, not the language 2018-11-11T23:36:09Z zbigniew joined #scheme 2018-11-11T23:39:49Z trafaret1: wasamasa: how hard it might be to move from functional paradigm into OOP or structural? 2018-11-11T23:40:16Z wasamasa: tias 2018-11-11T23:40:50Z wasamasa: personally, I find it easier than the other way around 2018-11-11T23:41:02Z pjb: trafaret1: Have a look at (intersection common-lisp emacs-lisp scheme) http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/ 2018-11-11T23:41:03Z rudybot: http://teensy.info/X56wi8kOXh 2018-11-11T23:41:31Z klovett_ joined #scheme 2018-11-11T23:44:14Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-11T23:44:42Z klovett quit (Ping timeout: 252 seconds) 2018-11-11T23:44:57Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-11T23:45:02Z trafaret1: it seems to me that cl is silver bullet for all problems with silly GUI :) 2018-11-11T23:45:08Z trafaret1: without* 2018-11-11T23:45:29Z wasamasa: there is no such thing as a silver bullet 2018-11-11T23:46:24Z wasamasa: suppose you want to do IoT stuff and your device uses the zigbee protocol, then you'd be screwed 2018-11-11T23:46:55Z wasamasa: you'd need to write a library first 2018-11-11T23:47:05Z trafaret1: ok I get you 2018-11-11T23:47:18Z trafaret1: reinventing 2018-11-11T23:47:30Z wasamasa: whereas there's plenty of libraries for that in C, JS, java, etc. 2018-11-11T23:47:53Z pjb: And who wrote them? 2018-11-11T23:48:05Z wasamasa: less lazy people :P 2018-11-11T23:48:25Z pjb: Also, you can write, eg. a C-to-scheme translator, and just load those C libraries. 2018-11-11T23:48:45Z wasamasa: sure thing, let's commission trafaret1 to do that 2018-11-11T23:49:33Z trafaret1: is it possible at all? 2018-11-11T23:49:58Z wasamasa: in practice you'd pick your preferred scheme with C interop and write a binding to the library 2018-11-11T23:50:31Z pierpal quit (Ping timeout: 244 seconds) 2018-11-11T23:50:36Z wasamasa: same goes for java, JS, etc. 2018-11-11T23:51:13Z trafaret1: just find out way to pass values betwen c libraries and scheme 2018-11-11T23:52:19Z trafaret1: I'm not not programmer I may be wrong :) 2018-11-11T23:53:13Z on_ion: scheme ffi is generally nice. check out gambit, guile, chez 2018-11-11T23:53:52Z Zipheir: trafaret1: Good, don't be a not programmer. 2018-11-11T23:54:09Z pierpal joined #scheme 2018-11-11T23:55:14Z wasamasa: be a nand programmer 2018-11-11T23:55:32Z daviid joined #scheme 2018-11-11T23:56:30Z Riastradh: What if I wanna be a spinning rust programmer instead? 2018-11-11T23:57:16Z wasamasa: most rust programmers don't spin, they evangelize 2018-11-11T23:58:19Z Zipheir: zing! 2018-11-11T23:59:18Z Zenton quit (Ping timeout: 244 seconds) 2018-11-12T00:00:29Z trafaret1: among yours how many ppl use scheme in work time? 2018-11-12T00:01:02Z on_ion: 99,0000 2018-11-12T00:01:27Z wasamasa: 3 2018-11-12T00:01:54Z wasamasa: myself included 2018-11-12T00:03:34Z trafaret1: trully I can't seen yet where employer want to hire scheme programmer 2018-11-12T00:03:46Z Zipheir: How many more do we need before the language gets good? 2018-11-12T00:04:50Z on_ion: if ur doing scheme then u should hire ppl because ur a shephard. else be a sheep live happy 2018-11-12T00:05:22Z trafaret1: on_ion: good explanation 2018-11-12T00:07:50Z pierpal quit (Read error: Connection reset by peer) 2018-11-12T00:12:49Z Zipheir: trafaret1: If something's interesting enough to ask whether it's worth learning, it's probably easier to just learn it and find out for yourself. 2018-11-12T00:18:46Z trafaret1: Zipheir: I assume that scheme or basically lips famaly langauges good for generating reports and for fast prototyping 2018-11-12T00:22:24Z on_ion: try emacs lisp for those tasks 2018-11-12T00:23:03Z Zipheir: Generating reports? Lisp is certainly good for fast prototyping, thanks to dynamic typing and general expressiveness. 2018-11-12T00:24:20Z Zipheir: And the REPL, the ultimate fast prototyping tool. 2018-11-12T00:32:52Z trafaret1: Zipheir: btw is lisp good for protopyting real time control embeded systems? 2018-11-12T00:33:22Z pierpal joined #scheme 2018-11-12T00:35:13Z Zipheir: trafaret1: No idea. 2018-11-12T00:38:19Z ngz quit (Ping timeout: 252 seconds) 2018-11-12T00:43:02Z grettke joined #scheme 2018-11-12T00:43:43Z terpri quit (Read error: Connection reset by peer) 2018-11-12T00:43:48Z dkmueller quit (Quit: Lost terminal) 2018-11-12T00:44:57Z lavaflow: can somebody familar with bayes theorem and/or statistics please review this code for me? http://pasterack.org/pastes/47300 2018-11-12T00:45:32Z lavaflow: I believe the code is doing what I want it to, but I think "what I want it to" is wrong because I'm probably misunderstanding the application of bayes theorem 2018-11-12T00:46:30Z lavaflow: specifically I think that 10 line 'bayes' function is probably wrong 2018-11-12T00:52:13Z klovett joined #scheme 2018-11-12T00:53:25Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-12T01:08:08Z pie_ quit (Remote host closed the connection) 2018-11-12T01:08:33Z pie_ joined #scheme 2018-11-12T01:11:00Z klovett_ joined #scheme 2018-11-12T01:11:31Z zbigniew quit (Quit: Lost terminal) 2018-11-12T01:13:27Z elderK joined #scheme 2018-11-12T01:14:23Z cross joined #scheme 2018-11-12T01:14:44Z klovett quit (Ping timeout: 244 seconds) 2018-11-12T01:21:14Z pierpal quit (Read error: Connection reset by peer) 2018-11-12T01:32:47Z dbmikus joined #scheme 2018-11-12T01:33:42Z pierpal joined #scheme 2018-11-12T01:36:39Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-12T01:39:51Z on_ion: is scheme often tagged primitive types ? 2018-11-12T01:41:50Z jcowan: pjb: I wish the Zeta-C compiler were still useful, but nobody runs Zetalisp any more 2018-11-12T01:43:52Z trafaret1 quit (Ping timeout: 246 seconds) 2018-11-12T02:01:06Z pierpal quit (Read error: Connection reset by peer) 2018-11-12T02:01:17Z pierpal joined #scheme 2018-11-12T02:01:36Z daviid quit (Ping timeout: 272 seconds) 2018-11-12T02:09:38Z pierpal quit (Ping timeout: 245 seconds) 2018-11-12T02:22:32Z daviid joined #scheme 2018-11-12T02:24:16Z nckx quit (Quit: Updating my GNU GuixSD server — gnu.org/s/guix) 2018-11-12T02:25:10Z nckx joined #scheme 2018-11-12T02:32:23Z dbmikus quit (Ping timeout: 276 seconds) 2018-11-12T02:53:52Z dbmikus joined #scheme 2018-11-12T03:01:48Z robotoad quit (Quit: robotoad) 2018-11-12T03:02:11Z pierpal joined #scheme 2018-11-12T03:05:20Z pierpal quit (Read error: Connection reset by peer) 2018-11-12T03:05:33Z pierpal joined #scheme 2018-11-12T03:16:48Z robotoad joined #scheme 2018-11-12T03:24:20Z enderby left #scheme 2018-11-12T03:37:40Z dtornabene joined #scheme 2018-11-12T03:48:50Z dtornabene quit (Remote host closed the connection) 2018-11-12T03:52:34Z skapata quit (Quit: Ĝis!) 2018-11-12T03:55:57Z khisanth_ quit (Ping timeout: 268 seconds) 2018-11-12T04:08:37Z khisanth_ joined #scheme 2018-11-12T04:13:50Z daviid quit (Ping timeout: 268 seconds) 2018-11-12T04:22:47Z pie_ quit (Ping timeout: 240 seconds) 2018-11-12T04:35:38Z brendyyn quit (Read error: Connection reset by peer) 2018-11-12T04:43:04Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-12T04:44:53Z grettke joined #scheme 2018-11-12T04:59:50Z lambda-11235 joined #scheme 2018-11-12T05:01:56Z Inline quit (Quit: Leaving) 2018-11-12T05:20:48Z dbmikus joined #scheme 2018-11-12T05:32:07Z dbmikus quit (Remote host closed the connection) 2018-11-12T05:32:22Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-12T05:36:51Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-12T05:44:26Z lambda-11235 quit (Quit: Bye) 2018-11-12T05:44:36Z lambda-11235 joined #scheme 2018-11-12T06:30:34Z DGASAU quit (Remote host closed the connection) 2018-11-12T06:30:59Z DGASAU joined #scheme 2018-11-12T06:58:54Z jao quit (Ping timeout: 276 seconds) 2018-11-12T07:01:27Z pierpal quit (Read error: Connection reset by peer) 2018-11-12T07:05:48Z lambda-11235 quit (Quit: Bye) 2018-11-12T07:07:09Z brendyyn joined #scheme 2018-11-12T07:10:12Z amz3 quit (Ping timeout: 268 seconds) 2018-11-12T08:10:49Z Zipheir quit (Remote host closed the connection) 2018-11-12T08:12:00Z Zipheir joined #scheme 2018-11-12T08:29:27Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-12T08:40:47Z xkapastel joined #scheme 2018-11-12T08:41:16Z DGASAU joined #scheme 2018-11-12T08:42:14Z InverseRhombus quit (Remote host closed the connection) 2018-11-12T09:05:12Z nly joined #scheme 2018-11-12T09:09:53Z InverseRhombus joined #scheme 2018-11-12T09:10:29Z Zenton joined #scheme 2018-11-12T09:20:18Z averell quit (Quit: .) 2018-11-12T09:26:28Z marvin3 joined #scheme 2018-11-12T09:28:48Z marvin2 quit (Ping timeout: 252 seconds) 2018-11-12T09:51:58Z bor0 joined #scheme 2018-11-12T10:07:09Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-12T10:08:58Z razzy quit (Ping timeout: 244 seconds) 2018-11-12T10:51:27Z dkmueller joined #scheme 2018-11-12T10:58:27Z skapata joined #scheme 2018-11-12T11:00:54Z robotoad quit (Quit: robotoad) 2018-11-12T11:05:28Z brendyyn quit (Ping timeout: 245 seconds) 2018-11-12T11:10:16Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-12T11:10:50Z nly quit (Read error: Connection reset by peer) 2018-11-12T11:10:56Z nlyy joined #scheme 2018-11-12T11:10:59Z nlyy quit (Client Quit) 2018-11-12T11:16:27Z robotoad joined #scheme 2018-11-12T11:23:39Z dkmueller quit (Ping timeout: 268 seconds) 2018-11-12T11:28:22Z lritter joined #scheme 2018-11-12T11:37:00Z InverseRhombus joined #scheme 2018-11-12T11:39:31Z ggole joined #scheme 2018-11-12T11:47:03Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-12T12:02:54Z grettke joined #scheme 2018-11-12T12:09:01Z bor0 quit (Quit: Leaving) 2018-11-12T12:09:18Z silas joined #scheme 2018-11-12T12:09:50Z silas: Hi all. 2018-11-12T12:09:52Z silas: Anybody using lambdanative.org? 2018-11-12T12:19:43Z robotoad quit (Quit: robotoad) 2018-11-12T12:24:06Z rotty quit (Ping timeout: 260 seconds) 2018-11-12T12:28:20Z zadock joined #scheme 2018-11-12T12:29:28Z on_ion quit (Ping timeout: 252 seconds) 2018-11-12T12:30:25Z zadock quit (Remote host closed the connection) 2018-11-12T12:32:16Z eagleflo joined #scheme 2018-11-12T12:35:21Z rotty joined #scheme 2018-11-12T12:41:06Z confusedwanderer joined #scheme 2018-11-12T12:44:14Z confusedwanderer left #scheme 2018-11-12T12:44:53Z confusedwanderer joined #scheme 2018-11-12T13:00:55Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-12T13:01:12Z lloda: in the old basics, you could list the program, write on top, and enter the modified version. I miss that in the Scheme repls I've used. readline only gives you what you've typed. 2018-11-12T13:01:28Z confusedwanderer joined #scheme 2018-11-12T13:08:01Z LeoNerd: BASIC programs have line numbers; Scheme programs do not. So already that makes it a little harder to address "that line there" 2018-11-12T13:13:43Z ecraven: lloda: just use emacs or the racket editor ;) 2018-11-12T13:13:53Z ecraven: I use slime, geiser works as well 2018-11-12T13:34:30Z badkins quit (Remote host closed the connection) 2018-11-12T13:44:16Z pjb quit (Ping timeout: 252 seconds) 2018-11-12T13:55:35Z civodul joined #scheme 2018-11-12T14:11:53Z badkins joined #scheme 2018-11-12T14:17:19Z badkins_ joined #scheme 2018-11-12T14:19:36Z badkins quit (Ping timeout: 260 seconds) 2018-11-12T14:23:12Z elderK quit (Quit: Connection closed for inactivity) 2018-11-12T14:34:32Z InverseRhombus quit (Remote host closed the connection) 2018-11-12T14:46:41Z klovett joined #scheme 2018-11-12T14:49:12Z klovett_ quit (Ping timeout: 272 seconds) 2018-11-12T15:23:33Z badkins_ is now known as badkins 2018-11-12T15:36:57Z razzy joined #scheme 2018-11-12T15:38:46Z Inline joined #scheme 2018-11-12T15:40:30Z dkrm_ quit (Quit: WeeChat 2.2) 2018-11-12T15:42:11Z dbmikus joined #scheme 2018-11-12T15:48:13Z dkrm joined #scheme 2018-11-12T15:55:38Z johnjay joined #scheme 2018-11-12T16:02:48Z pierpal joined #scheme 2018-11-12T16:04:14Z Zaab1t joined #scheme 2018-11-12T16:09:03Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-12T16:15:30Z xkapastel joined #scheme 2018-11-12T16:21:23Z smazga joined #scheme 2018-11-12T16:21:24Z dbmikus_ joined #scheme 2018-11-12T16:24:12Z dbmikus quit (Ping timeout: 272 seconds) 2018-11-12T16:33:41Z averell joined #scheme 2018-11-12T16:35:51Z InverseRhombus joined #scheme 2018-11-12T16:40:16Z InverseRhombus quit (Remote host closed the connection) 2018-11-12T16:41:17Z jao joined #scheme 2018-11-12T16:44:27Z razzy quit (Ping timeout: 240 seconds) 2018-11-12T16:49:54Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-12T16:50:16Z InverseRhombus joined #scheme 2018-11-12T16:59:52Z grettke joined #scheme 2018-11-12T17:20:28Z nitrowheels joined #scheme 2018-11-12T17:23:59Z dbmikus_ quit (Quit: WeeChat 2.3) 2018-11-12T17:24:37Z dbmikus joined #scheme 2018-11-12T17:48:40Z pjb joined #scheme 2018-11-12T18:17:01Z szgyg quit (Ping timeout: 260 seconds) 2018-11-12T18:17:37Z szgyg joined #scheme 2018-11-12T18:23:06Z Zenton quit (Ping timeout: 252 seconds) 2018-11-12T18:23:59Z wilfredh joined #scheme 2018-11-12T18:24:28Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-12T18:32:12Z Zaab1t quit (Ping timeout: 244 seconds) 2018-11-12T18:33:55Z Zaab1t joined #scheme 2018-11-12T18:50:17Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-12T18:51:04Z razzy joined #scheme 2018-11-12T18:54:00Z zachk joined #scheme 2018-11-12T18:54:41Z zachk quit (Changing host) 2018-11-12T18:54:41Z zachk joined #scheme 2018-11-12T19:03:18Z nitrowheels quit (Quit: Leaving) 2018-11-12T19:06:53Z alezost joined #scheme 2018-11-12T19:12:04Z amerigo joined #scheme 2018-11-12T19:12:14Z robotoad joined #scheme 2018-11-12T19:14:23Z amerigo: hey, anyone tried machine learning with scheme? 2018-11-12T19:16:56Z wasamasa: sure, there are such people 2018-11-12T19:17:16Z wasamasa: I remember one in here complaining about r7rs not being convenient enough for exporting record accessors 2018-11-12T19:18:24Z Zaab1t quit (Quit: bye bye friends) 2018-11-12T19:19:44Z InverseRhombus quit (Remote host closed the connection) 2018-11-12T19:22:10Z Zaab1t joined #scheme 2018-11-12T19:22:37Z amerigo: manipulating vectors/matrices is also not very comfortable in scheme 2018-11-12T19:23:15Z averell- joined #scheme 2018-11-12T19:23:42Z averell quit (Ping timeout: 252 seconds) 2018-11-12T19:24:14Z averell- is now known as averell 2018-11-12T19:27:24Z klovett_ joined #scheme 2018-11-12T19:30:04Z klovett quit (Ping timeout: 244 seconds) 2018-11-12T19:30:33Z xkapastel joined #scheme 2018-11-12T19:34:59Z ecraven: amerigo: how so? 2018-11-12T19:35:31Z ggole quit (Quit: ggole) 2018-11-12T19:38:47Z klovett_ quit (Ping timeout: 240 seconds) 2018-11-12T19:39:01Z klovett joined #scheme 2018-11-12T19:39:29Z klovett_ joined #scheme 2018-11-12T19:39:29Z Zipheir: Yeah, I don't understand that either. Vectors and matrices work just fine in Scheme. 2018-11-12T19:39:45Z amerigo: you need lots of additional functions for iterating over matrices 2018-11-12T19:40:27Z crestfallen joined #scheme 2018-11-12T19:43:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-12T19:43:55Z safinaskar joined #scheme 2018-11-12T19:44:32Z safinaskar left #scheme 2018-11-12T19:44:43Z safinaskar joined #scheme 2018-11-12T19:44:45Z safinaskar: is there some non-buggy online interpreter with full support for 7th "small" standard? 2018-11-12T19:44:50Z safinaskar: repl.it is buggy 2018-11-12T19:45:47Z Zipheir: I seem to remember there being a Chibi web repl somewhere... 2018-11-12T19:46:29Z safinaskar: i try https://scheme.cs61a.org/ . how to run "define-syntax" in it? it gives error 2018-11-12T19:46:37Z safinaskar: maybe i should import something? 2018-11-12T19:47:12Z InverseRhombus joined #scheme 2018-11-12T19:47:53Z Zipheir: CS 61A doesn't seem to have macros. 2018-11-12T19:48:30Z Zipheir: Oh wait, it does. define-macro only though, boo https://cs61a.org/articles/scheme-spec.html 2018-11-12T19:50:11Z Zipheir: The author says it's sort of like R5RS, but it looks like a small subset. Expect lots of weirdness, I'd say. 2018-11-12T19:53:10Z safinaskar: so, is there some scheme interpreter online which implements define-syntax/syntax-rules from 7th revision of standard? 2018-11-12T19:56:32Z Zipheir: There's https://www.biwascheme.org/, but IIRC that's the implementation that repl.it uses. 2018-11-12T19:56:57Z Zipheir: But Biwa also punts on hygienic macros :p 2018-11-12T19:57:09Z Zipheir: So it seems the answer to your question is 'no'. 2018-11-12T19:58:37Z safinaskar: biwa is crap 2018-11-12T19:58:51Z safinaskar: it doesn't report error if you pass wrong number of argument 2018-11-12T19:58:56Z safinaskar: *of arguments 2018-11-12T19:59:01Z safinaskar: and the bug stays from 2012 2018-11-12T19:59:28Z safinaskar: and repl.it uses biwa 2018-11-12T19:59:57Z Zipheir: Wow, that sucks. 2018-11-12T20:01:07Z aeth quit (Ping timeout: 246 seconds) 2018-11-12T20:03:10Z aeth joined #scheme 2018-11-12T20:03:50Z crestfallen quit (Quit: Leaving) 2018-11-12T20:04:28Z Zipheir: Biwa catches (cons 'a 'b '()), but (define (kons x xs) (cons x xs)) (kons 'a 'b '()) ; => (a . b) 2018-11-12T20:04:32Z Zipheir: That is pretty sloppy. 2018-11-12T20:04:50Z safinaskar: Zipheir: also, using nested quasiquote is not supported 2018-11-12T20:05:35Z daviid joined #scheme 2018-11-12T20:12:46Z dkmueller joined #scheme 2018-11-12T20:15:11Z safinaskar: okey, what linux implementations support r7? 2018-11-12T20:15:29Z safinaskar: does gnu/mit support it? 2018-11-12T20:16:46Z Zipheir: safinaskar: Maybe a better question is what parts of R7 do you need? 2018-11-12T20:17:19Z Zipheir: Also GNU/MIT supports most of R7, yes. 2018-11-12T20:17:21Z safinaskar: Zipheir: well, i am trying to learn r7, so ideally i need all r7 2018-11-12T20:17:32Z safinaskar: Zipheir: of course, i mean small r7 2018-11-12T20:17:48Z safinaskar: gnu/mit just said to me that "raise" is undefined 2018-11-12T20:17:54Z safinaskar: or i need to import something? 2018-11-12T20:18:45Z Zipheir: I don't know GNU/MIT well, so ??? 2018-11-12T20:19:03Z safinaskar: Zipheir: okey, what is your OS? what implementation you use? 2018-11-12T20:19:13Z civodul joined #scheme 2018-11-12T20:19:15Z Zipheir: CHICKEN and Guile also have some R7 support, CHICKEN moreso. 2018-11-12T20:19:19Z Zipheir: Linux, CHICKEN. 2018-11-12T20:20:24Z Zipheir: https://wiki.call-cc.org/eggref/4/r7rs (chicken's r7rs lib) 2018-11-12T20:22:23Z rain1: sagitarius is another which has good r7rs 2018-11-12T20:25:57Z wasamasa: safinaskar: make your own online repl 2018-11-12T20:26:48Z Zenton joined #scheme 2018-11-12T20:30:11Z safinaskar: please, look at my scheme interpreter written in scheme: https://repl.it/repls/AlarmingCyberProperty 2018-11-12T20:30:22Z safinaskar: it supports lambda, set! and define 2018-11-12T20:30:26Z safinaskar: and little else 2018-11-12T20:30:40Z safinaskar: it supports little imperative subset of scheme 2018-11-12T20:30:56Z safinaskar: and (i think) will pass Knuth man-boy test, but i didn't check yet 2018-11-12T20:31:15Z safinaskar: also, it supports "+", but not "-", but i can easily add "-" 2018-11-12T20:31:21Z safinaskar: work in progress :) 2018-11-12T20:32:56Z wasamasa: I don't get it, why would you work in an online repl? 2018-11-12T20:34:27Z rain1: very good 2018-11-12T20:34:50Z rain1: yyou should put all the )))) together, not alone on a line 2018-11-12T20:35:03Z wasamasa: yeah, only then it will be "true scheme" 2018-11-12T20:35:23Z qu1j0t3: also it will run twice as fast 2018-11-12T20:35:42Z wasamasa: and it won't burn our eyes 2018-11-12T20:37:20Z grettke joined #scheme 2018-11-12T20:38:47Z safinaskar: wasamasa: "I don't get it, why would you work in an online repl?" - because i didn't want to install anything to my computer 2018-11-12T20:38:55Z wasamasa: why? 2018-11-12T20:39:28Z safinaskar: wasamasa: simply don't want ;) 2018-11-12T20:39:33Z wasamasa: I mean, you're clearly not using a machine incapable of storing an interpreter if you can work with that website 2018-11-12T20:39:38Z amerigo: you can use docker 2018-11-12T20:39:49Z amerigo: or a virtual machine 2018-11-12T20:40:04Z lritter quit (Remote host closed the connection) 2018-11-12T20:40:29Z safinaskar: Zipheir: i installed chicken. "display" doesn't work. i mean i use "display" in a file, then i run that file using chicken and i see nothing. maybe i should import something? 2018-11-12T20:40:50Z wasamasa: wait, you just said you don't want to install anything 2018-11-12T20:41:10Z wasamasa: anyway, support for that scheme is right over on #chicken 2018-11-12T20:41:27Z safinaskar: wasamasa: yes, i didn't want. but then i understand that repl.it sucks, and so i installed chicken (and gnu/mit scheme) 2018-11-12T20:42:05Z wasamasa: sounds like you'll be a fun support case 2018-11-12T20:42:16Z wasamasa: "I'm using this scheme against my will!" 2018-11-12T20:47:01Z catonano joined #scheme 2018-11-12T20:55:14Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-12T20:57:34Z amerigo: do you know of any map-matrix implementation that would be in the form of (map-matrix function matrix1 matrix2 matrix3...) 2018-11-12T20:57:36Z amerigo: ? 2018-11-12T20:57:51Z wasamasa: the only lisp I know of that gets this right is lush 2018-11-12T20:58:06Z wasamasa: unfortunately lush is in bad shape and won't work on 64bit systems 2018-11-12T20:59:54Z safinaskar left #scheme 2018-11-12T21:00:03Z amerigo: stuck on https://pastebin.com/4PbDF4XV 2018-11-12T21:01:14Z amerigo: no idea how to extend it to many matrices, but it would be a useful abstraction for dot-products, sums etc 2018-11-12T21:01:31Z pie_ joined #scheme 2018-11-12T21:04:57Z klovett joined #scheme 2018-11-12T21:07:47Z klovett_ quit (Ping timeout: 240 seconds) 2018-11-12T21:07:55Z amerigo: looks like lush is still maintained 2018-11-12T21:08:37Z wasamasa: why do you say so? 2018-11-12T21:08:49Z wasamasa: have you made it run on a 64bit system? 2018-11-12T21:09:49Z amerigo: commits here https://sourceforge.net/projects/lush/ 2018-11-12T21:10:38Z wasamasa: another funny thing is that they made lush2, but it's outdated 2018-11-12T21:16:25Z wasamasa: anyway, I'll try building it 2018-11-12T21:16:36Z daviid quit (Read error: Connection reset by peer) 2018-11-12T21:16:50Z daviid joined #scheme 2018-11-12T21:17:59Z klovett quit 2018-11-12T21:23:03Z amerigo: good luck 2018-11-12T21:23:41Z ngz joined #scheme 2018-11-12T21:24:04Z wasamasa: yeah, no, 64bit support is still broken 2018-11-12T21:25:35Z klovett joined #scheme 2018-11-12T21:28:14Z wasamasa: you'll notice once you try loading up something with C support code 2018-11-12T21:34:04Z robotoad quit (Quit: robotoad) 2018-11-12T21:34:06Z Zaab1t quit (Quit: bye bye friends) 2018-11-12T21:34:38Z robotoad joined #scheme 2018-11-12T21:50:13Z amerigo: ok 2018-11-12T21:50:14Z amerigo: https://pastebin.com/9mkurJvV 2018-11-12T21:50:18Z amerigo: this is my take at matrix-map 2018-11-12T21:56:11Z amerigo: sort of inefficient 2018-11-12T21:56:18Z amerigo: but can't think of any other way 2018-11-12T21:56:21Z amerigo: at the moment 2018-11-12T22:04:41Z amerigo: (define (new-dif . matrices) 2018-11-12T22:04:41Z amerigo: (apply matrix-map - matrices)) 2018-11-12T22:05:12Z amerigo: that way you can abstract other matrix operations 2018-11-12T22:05:19Z amerigo left #scheme 2018-11-12T22:06:58Z dkmueller quit (Quit: Lost terminal) 2018-11-12T22:07:44Z klovett quit (Read error: Connection reset by peer) 2018-11-12T22:07:52Z robotoad quit (Quit: robotoad) 2018-11-12T22:14:21Z amerigo joined #scheme 2018-11-12T22:16:19Z jcowan: The semi-official list of R7RS implementations is at https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ImplementationSupport.md 2018-11-12T22:16:39Z jcowan: However, I have not been able to build Sagittarius in a long time, and neither has the CI. 2018-11-12T22:17:38Z pie_ quit (Quit: Leaving) 2018-11-12T22:19:32Z klovett joined #scheme 2018-11-12T22:21:40Z rain1: https://bitbucket.org/ktakashi/sagittarius-scheme/downloads/ I just built release 0.9.4 it worked 2018-11-12T22:21:55Z rain1: does it work for you? 2018-11-12T22:28:38Z jcowan: I'll try it. I think I only tried building from the head. 2018-11-12T22:31:48Z Ober: it has some interesting libs in its base 2018-11-12T22:32:16Z ngz quit (Ping timeout: 252 seconds) 2018-11-12T22:32:50Z jcowan: Chibi in the browser is at https://chibi-scheme.appspot.com/ 2018-11-12T22:33:28Z jcowan: building Sag on Mojave 2018-11-12T22:35:17Z amerigo: how is performance of those schemes compared to e.g. chez 2018-11-12T22:35:53Z Ober: which time are you measuring? Developer time rewriting libs for chez? 2018-11-12T22:36:59Z amerigo: good point 2018-11-12T22:37:52Z daviid quit (Ping timeout: 272 seconds) 2018-11-12T22:37:58Z jcowan: For benchmark data (not just on R7RS) see https://ecraven.github.io/r7rs-benchmarks/ 2018-11-12T22:39:23Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-12T22:42:12Z amerigo: was it hard to get stalin compiler running? 2018-11-12T22:42:26Z rain1: if only there was some kind of document that all schemes followod so you could run most libraries in any scheme 2018-11-12T22:45:14Z amerigo: racket is doing well in this regard 2018-11-12T22:46:00Z Zipheir: rain1: Are you slowly turning into wasamasa? 2018-11-12T22:56:06Z amerigo left #scheme 2018-11-12T22:58:31Z jcowan: Getting Stalin to run isn't *hard*, it just takes forever to build it from C, never mind to build it from itself (which cannot be done until you have a Stalin). YMMV, of course. 2018-11-12T22:58:43Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-12T22:59:30Z Zipheir: At least the comments in the source provide useful advice: pray. 2018-11-12T22:59:48Z Zipheir: (wrt building the compiler, that is) 2018-11-12T23:00:06Z aeth: It's ironic if Stalin actually is telling you to pray. 2018-11-12T23:00:58Z catonano quit (Quit: catonano) 2018-11-12T23:09:07Z badkins quit (Ping timeout: 268 seconds) 2018-11-12T23:12:56Z jcowan: It's called that because it optimizes your program. Brutally. 2018-11-12T23:13:18Z jcowan: But yes, each source file begins and ends with a prayer of sorts. And that's the *only* comments there are. 2018-11-12T23:13:29Z Ober: yeah... not funny for those of us who lost family members in that purge 2018-11-12T23:16:20Z jcowan: Zipheir: did you get a chance to look at my ContextsCowan page? 2018-11-12T23:16:47Z Zipheir: jcowan: Indeed, unless it's changed since yesterday. 2018-11-12T23:17:06Z jcowan: no, it hasn't 2018-11-12T23:17:14Z jcowan: any suggestions, besides "now do it"? 2018-11-12T23:17:49Z Zipheir: jcowan: No, it looks great so far. 2018-11-12T23:31:27Z klovett_ joined #scheme 2018-11-12T23:32:08Z klovett quit (Ping timeout: 245 seconds) 2018-11-12T23:35:06Z daviid joined #scheme 2018-11-12T23:36:14Z oni-on-ion joined #scheme 2018-11-12T23:38:39Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-12T23:53:40Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-12T23:57:00Z Riastradh: The naming is part of an elaborate joke. See, e.g., . 2018-11-13T00:03:01Z physpi quit (Ping timeout: 252 seconds) 2018-11-13T00:04:29Z physpi joined #scheme 2018-11-13T00:04:37Z qu1j0t3: elaborate and tasteless joke? 2018-11-13T00:05:45Z cmatei quit (Ping timeout: 252 seconds) 2018-11-13T00:08:56Z debsan quit (Ping timeout: 268 seconds) 2018-11-13T00:09:22Z smazga quit (Quit: leaving) 2018-11-13T00:16:53Z zachk quit (Quit: Leaving) 2018-11-13T00:18:55Z cmatei joined #scheme 2018-11-13T00:29:41Z jcowan: The last person to believe in refined humor was probably Adolf Eichmann 2018-11-13T00:30:02Z jcowan: he turned down an opportunity to join such a humor society in order to join the NDSAP instead. 2018-11-13T00:30:11Z jcowan: (they were officially incompatible) 2018-11-13T00:34:44Z amerigo joined #scheme 2018-11-13T00:34:58Z qu1j0t3: not sure we're talking about merely "unrefined humour," but ok 2018-11-13T00:40:12Z amerigo left #scheme 2018-11-13T00:43:51Z badkins joined #scheme 2018-11-13T01:03:11Z robotoad joined #scheme 2018-11-13T01:09:23Z [X-Scale] joined #scheme 2018-11-13T01:09:31Z X-Scale quit (Ping timeout: 244 seconds) 2018-11-13T01:10:11Z [X-Scale] is now known as X-Scale 2018-11-13T01:16:07Z pierpal quit (Ping timeout: 246 seconds) 2018-11-13T01:24:31Z dmiles quit (Ping timeout: 246 seconds) 2018-11-13T01:40:30Z logicmoo joined #scheme 2018-11-13T01:44:49Z logicmoo quit (Ping timeout: 246 seconds) 2018-11-13T01:47:58Z dmiles joined #scheme 2018-11-13T01:53:57Z dmiles quit (Ping timeout: 244 seconds) 2018-11-13T01:54:12Z daviid quit (Ping timeout: 272 seconds) 2018-11-13T01:57:47Z logicmoo joined #scheme 2018-11-13T01:59:06Z debsan joined #scheme 2018-11-13T01:59:06Z debsan quit (Changing host) 2018-11-13T01:59:06Z debsan joined #scheme 2018-11-13T02:01:49Z Zipheir: If there were ever a fork of Stalin (hah!) it should be called Khrushchev and its slogan should be "Krushchev buries all other Scheme compilers." 2018-11-13T02:10:24Z elderK joined #scheme 2018-11-13T02:35:36Z jcowan chuckles 2018-11-13T02:36:03Z jcowan: Hard to do. Stalin is pretty much a dead end, combining the lack of documentation with the lack of any kind of community, not so much as a mailing list. 2018-11-13T02:37:19Z acarrico quit (Ping timeout: 246 seconds) 2018-11-13T02:44:22Z dbmikus joined #scheme 2018-11-13T02:47:40Z qu1j0t3: put it in a mausoleum 2018-11-13T02:50:51Z dbmikus_ joined #scheme 2018-11-13T02:55:15Z dbmikus_ quit (Ping timeout: 252 seconds) 2018-11-13T03:17:27Z Enyala joined #scheme 2018-11-13T03:27:12Z grettke joined #scheme 2018-11-13T03:29:49Z skapata quit (Remote host closed the connection) 2018-11-13T03:51:04Z Enyala quit (Read error: Connection reset by peer) 2018-11-13T04:14:20Z brendyyn joined #scheme 2018-11-13T04:14:37Z teardown quit (Ping timeout: 246 seconds) 2018-11-13T04:15:55Z catonano joined #scheme 2018-11-13T04:16:21Z pierpal joined #scheme 2018-11-13T04:18:26Z catonano quit (Client Quit) 2018-11-13T04:19:25Z catonano joined #scheme 2018-11-13T04:19:41Z johnjay quit (Ping timeout: 256 seconds) 2018-11-13T04:41:52Z debsan quit (Ping timeout: 244 seconds) 2018-11-13T04:45:51Z charh quit (Ping timeout: 260 seconds) 2018-11-13T04:59:30Z erkin quit (Quit: Ouch! Got SIGIRL, dying...) 2018-11-13T05:00:04Z jao quit (Ping timeout: 250 seconds) 2018-11-13T05:02:35Z erkin joined #scheme 2018-11-13T05:22:28Z dbmikus quit (Quit: WeeChat 1.9.1) 2018-11-13T05:36:46Z debsan joined #scheme 2018-11-13T05:36:46Z debsan quit (Changing host) 2018-11-13T05:36:46Z debsan joined #scheme 2018-11-13T06:04:00Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-13T06:05:43Z Inline quit (Quit: Leaving) 2018-11-13T06:19:34Z oni-on-ion quit (Ping timeout: 246 seconds) 2018-11-13T06:20:35Z oni-on-ion joined #scheme 2018-11-13T06:45:27Z catonano quit (Quit: catonano) 2018-11-13T06:50:36Z nelsonhb joined #scheme 2018-11-13T06:54:24Z oni-on-ion quit (Ping timeout: 272 seconds) 2018-11-13T06:54:52Z oni-on-ion joined #scheme 2018-11-13T06:56:07Z nelsonhb quit (Quit: Instantbird 1.5 -- http://www.instantbird.com) 2018-11-13T07:02:03Z grettke joined #scheme 2018-11-13T07:44:00Z vyzo quit (Quit: Leaving.) 2018-11-13T07:53:24Z ArneBab quit (Ping timeout: 250 seconds) 2018-11-13T07:54:25Z ArneBab joined #scheme 2018-11-13T07:54:25Z ArneBab quit (Changing host) 2018-11-13T07:54:25Z ArneBab joined #scheme 2018-11-13T08:22:47Z civodul joined #scheme 2018-11-13T08:34:28Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-13T08:38:34Z keep_learning_M joined #scheme 2018-11-13T08:42:30Z joast quit (Ping timeout: 252 seconds) 2018-11-13T08:45:18Z bor0 joined #scheme 2018-11-13T08:47:17Z TheGreekOwl quit (Ping timeout: 244 seconds) 2018-11-13T08:51:24Z robotoad quit (Quit: robotoad) 2018-11-13T08:56:44Z InverseRhombus quit (Remote host closed the connection) 2018-11-13T09:17:55Z InverseRhombus joined #scheme 2018-11-13T09:30:06Z marvin3 quit (Ping timeout: 268 seconds) 2018-11-13T09:39:41Z marvin2 joined #scheme 2018-11-13T09:48:56Z pjb` joined #scheme 2018-11-13T09:49:27Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-13T09:54:38Z logicmoo quit (Ping timeout: 245 seconds) 2018-11-13T09:57:01Z lritter joined #scheme 2018-11-13T09:58:16Z dmiles joined #scheme 2018-11-13T09:59:16Z averell quit (Read error: Connection reset by peer) 2018-11-13T10:02:30Z pjb` quit (Ping timeout: 252 seconds) 2018-11-13T10:05:15Z pjb` joined #scheme 2018-11-13T10:13:16Z pjb` quit (Ping timeout: 272 seconds) 2018-11-13T10:15:37Z pjb` joined #scheme 2018-11-13T10:20:06Z pjb quit (Ping timeout: 252 seconds) 2018-11-13T10:23:58Z jim left #scheme 2018-11-13T10:30:32Z InverseRhombus quit (Remote host closed the connection) 2018-11-13T10:34:56Z pjb` quit (Read error: No route to host) 2018-11-13T10:38:02Z averell joined #scheme 2018-11-13T10:43:55Z pjb` joined #scheme 2018-11-13T10:52:52Z pjb` quit (Ping timeout: 264 seconds) 2018-11-13T10:54:50Z pjb` joined #scheme 2018-11-13T11:06:33Z bor0 quit (Quit: Leaving) 2018-11-13T11:08:09Z pjb` quit (Ping timeout: 268 seconds) 2018-11-13T11:08:34Z pjb` joined #scheme 2018-11-13T11:12:21Z InverseRhombus joined #scheme 2018-11-13T11:21:37Z debsan quit (Ping timeout: 246 seconds) 2018-11-13T11:22:49Z pjb` quit (Ping timeout: 252 seconds) 2018-11-13T11:24:45Z debsan joined #scheme 2018-11-13T11:24:45Z debsan quit (Changing host) 2018-11-13T11:24:45Z debsan joined #scheme 2018-11-13T11:25:28Z pjb` joined #scheme 2018-11-13T11:33:29Z skapata joined #scheme 2018-11-13T11:33:33Z klovett joined #scheme 2018-11-13T11:35:17Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-13T11:53:16Z pjb` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T11:53:46Z ogamita joined #scheme 2018-11-13T11:55:03Z ack_inc_php joined #scheme 2018-11-13T11:55:42Z ack_inc_php left #scheme 2018-11-13T12:02:57Z ogamita quit (Ping timeout: 252 seconds) 2018-11-13T12:09:03Z ogamita joined #scheme 2018-11-13T12:12:08Z confusedwanderer joined #scheme 2018-11-13T12:22:59Z ogamita quit (Ping timeout: 250 seconds) 2018-11-13T12:25:00Z ogamita joined #scheme 2018-11-13T12:43:26Z ggole joined #scheme 2018-11-13T12:46:27Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-13T12:47:27Z ogamita quit (Ping timeout: 240 seconds) 2018-11-13T12:48:45Z ogamita joined #scheme 2018-11-13T12:57:49Z edw joined #scheme 2018-11-13T13:00:55Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T13:01:15Z InverseRhombus quit (Remote host closed the connection) 2018-11-13T13:07:47Z ogamita quit (Ping timeout: 240 seconds) 2018-11-13T13:17:50Z joast joined #scheme 2018-11-13T13:38:18Z jao joined #scheme 2018-11-13T13:40:49Z acarrico joined #scheme 2018-11-13T13:48:48Z lockywolf joined #scheme 2018-11-13T13:49:35Z lockywolf: I guess I should be proud. I emailed Neil van Dyke, asking about his scheme-announce mailing list, and he released a new version of quack. 2018-11-13T13:50:04Z lockywolf: ;; HISTORY: 2018-11-13T13:50:04Z lockywolf: ;; 2018-11-13T13:50:04Z lockywolf: ;; Version 0.49 (2018-10-28): 2018-11-13T13:50:04Z lockywolf: ;; * Removed reference to `scheme-announce' email list. 2018-11-13T13:50:04Z lockywolf: ;; 2018-11-13T13:50:05Z lockywolf: ;; Version 0.48 (2016-04-03): 2018-11-13T13:50:09Z lockywolf: ;; * Made fontify `#true` and `#false`. 2018-11-13T13:51:53Z dbmikus_ joined #scheme 2018-11-13T13:54:14Z ogamita joined #scheme 2018-11-13T13:54:15Z xkapastel joined #scheme 2018-11-13T13:58:52Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-13T14:05:53Z TheGreekOwl joined #scheme 2018-11-13T14:08:28Z ogamita quit (Ping timeout: 264 seconds) 2018-11-13T14:10:34Z InverseRhombus joined #scheme 2018-11-13T14:14:02Z ogamita joined #scheme 2018-11-13T14:22:22Z lavaflow quit (Read error: No route to host) 2018-11-13T14:40:21Z Inline joined #scheme 2018-11-13T14:42:31Z grettke joined #scheme 2018-11-13T14:43:47Z pierpal quit (Ping timeout: 240 seconds) 2018-11-13T14:46:09Z lavaflow joined #scheme 2018-11-13T15:06:16Z pierpal joined #scheme 2018-11-13T15:09:48Z nly joined #scheme 2018-11-13T15:16:05Z DGASAU joined #scheme 2018-11-13T15:35:19Z robotoad joined #scheme 2018-11-13T15:55:30Z DGASAU quit (Read error: Connection reset by peer) 2018-11-13T15:55:35Z klovett quit (Remote host closed the connection) 2018-11-13T15:56:21Z DGASAU joined #scheme 2018-11-13T16:00:09Z elderK quit (Quit: Connection closed for inactivity) 2018-11-13T16:01:27Z ogamita quit (Read error: Connection reset by peer) 2018-11-13T16:01:28Z robotoad quit (Quit: robotoad) 2018-11-13T16:03:36Z robotoad joined #scheme 2018-11-13T16:04:00Z robotoad quit (Client Quit) 2018-11-13T16:05:13Z ogamita joined #scheme 2018-11-13T16:15:47Z civodul joined #scheme 2018-11-13T16:22:08Z smazga joined #scheme 2018-11-13T16:25:47Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-13T16:26:41Z edgar-rft quit (Quit: Leaving) 2018-11-13T16:29:55Z grettke joined #scheme 2018-11-13T16:35:01Z ogamita quit (Read error: Connection reset by peer) 2018-11-13T16:38:57Z ogamita joined #scheme 2018-11-13T16:39:37Z robotoad joined #scheme 2018-11-13T16:45:27Z ogamita quit (Quit: Good night!) 2018-11-13T17:05:30Z nly quit (Quit: Quit) 2018-11-13T17:10:42Z foof: is library.readscheme.org gone? 2018-11-13T17:11:19Z wasamasa: yes 2018-11-13T17:11:34Z foof: ;_; 2018-11-13T17:12:48Z rain1: yeah :/ 2018-11-13T17:13:14Z rain1: https://web.archive.org/web/20071223082205/http://library.readscheme.org:80/ 2018-11-13T17:13:24Z wasamasa: readscheme.org has been auctioned off after the domain expired 2018-11-13T17:13:37Z rain1: maybe I should copy all this stuff to my wiki 2018-11-13T17:15:07Z smazga quit (Ping timeout: 240 seconds) 2018-11-13T17:21:21Z Zipheir: I'll archive a copy as well, if possible. 2018-11-13T17:25:07Z klovett joined #scheme 2018-11-13T17:32:03Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-13T17:32:08Z ManDay joined #scheme 2018-11-13T17:36:51Z ManDay: Has anyone here seen my questions and asking for help within the last three hours or so? 2018-11-13T17:37:44Z ManDay: (e.g. just minutes ago, talking about Guile) 2018-11-13T17:37:54Z ManDay: Via my ManDay[m] account, that is. 2018-11-13T17:39:08Z weinholt: ManDay, nope 2018-11-13T17:39:54Z rain1: did not see your question either 2018-11-13T17:42:39Z ManDay quit (Ping timeout: 256 seconds) 2018-11-13T17:42:48Z wasamasa: matrix sucks 2018-11-13T17:46:20Z Zipheir: ManDay: You seem to be stuck in matrix, would you like a pill? 2018-11-13T17:54:01Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T17:55:11Z oni-on-ion: heh wasamasa i just unloaded it (lua plugin) from weechat a second ago due to continuous network error. started it up last night because my one buddy uses it sometimes -- 2018-11-13T17:55:48Z ggole quit (Quit: ggole) 2018-11-13T18:01:06Z ManDay joined #scheme 2018-11-13T18:02:57Z pjb joined #scheme 2018-11-13T18:03:53Z ManDay: Zipheir: Okay, yeah... I take the pill. 2018-11-13T18:04:11Z ManDay: All this time I was thinking why are you guys being such jerks, completely ignoring me. 2018-11-13T18:04:32Z ManDay: Good to know you're not ignoring me. 2018-11-13T18:04:34Z ManDay: :-P 2018-11-13T18:05:39Z pjb: ManDay: https://cliki.net/IRC 2018-11-13T18:06:56Z ManDay: So my question was basically two: 1) Guile seems to drop a whole bunch of frames in its backtraces. Essentially, all locally bound lambda are never mentioned, which makes errors practically untraceable in programs which rely a lot on it. Has anyone found a way to tackle this or knows a scheme which provides better backtraces in these situations? Second question, very weird: I've got a purely functional 2018-11-13T18:06:58Z ManDay: program and its behaviour (i.e. whether an error occurs or not) seems to depend on whether I wrap a (pk ...) or a (begin (display ...) ...) around stuff. Should that logically be possible at all? 2018-11-13T18:08:00Z pjb: ManDay: for the second question, if there's some lazy evaluation going on, then indeed, if you don't use the value, there's no need to compute it. 2018-11-13T18:08:39Z pjb: ManDay: you don't go around and compute f(x) for all the value of x in C, do you? 2018-11-13T18:09:06Z ecraven: does anyone have a full mirror of readscheme? 2018-11-13T18:10:07Z pjb: Try Archive.org ? Probably incomplete. Otherwise, there's https://schemers.org 2018-11-13T18:10:46Z pjb: ManDay: I tend to use mit-scheme or bigloo, but I don't know how they compare for debugging, since I never did much debugging in scheme. Sorry. 2018-11-13T18:11:49Z ecraven: pjb: bibliography on schemers.org links to readscheme :-/ 2018-11-13T18:13:12Z pjb: https://web.archive.org/web/*/http://readscheme.org 2018-11-13T18:13:30Z ecraven: hm.. actually, hosting the full papers instead of only links would be nicer 2018-11-13T18:13:55Z pjb: In March it was still alive: https://web.archive.org/web/20180307132928/http://readscheme.org 2018-11-13T18:14:31Z ecraven: yea, just wgot it, would be nice to convert to some sort of sexp-bibtex 2018-11-13T18:14:58Z pjb: Perhaps only the DNS is over. If you can retrive the IP, you might be able to clone it. 2018-11-13T18:15:23Z pjb: Jim Bender was the maintainer. 2018-11-13T18:16:41Z ecraven: is there a lispy variant of bibtex? 2018-11-13T18:17:07Z gwatt: ecraven: slatex? 2018-11-13T18:17:28Z ecraven: actually, bibtex syntax seems plain enough to just use alists for the data 2018-11-13T18:17:40Z ManDay: pjb: If there is lazy evaluation, how would adding a pk/display prevent the error from happening? 2018-11-13T18:17:49Z ManDay: pjb: What do you mean by the second thing you said? 2018-11-13T18:18:22Z Riastradh: ManDay: It would help if you shared exactly the code you're having trouble with; otherwise it's hard to hypothesize what might be wrong with it. 2018-11-13T18:18:40Z DKordic: ecraven: Seen http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0439b/CHDDIGAC.html ? 2018-11-13T18:19:23Z ManDay: Riastradh: I will do that, I'm at home now but I'll share it when I'm back at work tomorrow. It's fairly short and only very simple r6rs 2018-11-13T18:22:37Z sethalves quit (Quit: Leaving.) 2018-11-13T18:22:40Z weinholt: pjb, ecraven: it's still up, 212.110.186.28 readscheme.org library.readscheme.org 2018-11-13T18:23:04Z rain1: nice 2018-11-13T18:25:50Z ecraven: weinholt: thanks! 2018-11-13T18:25:58Z klovett_ joined #scheme 2018-11-13T18:26:03Z Zipheir: woo 2018-11-13T18:27:19Z ecraven: repository.readscheme.org is the same ip, that has a lot of the actual papers 2018-11-13T18:29:10Z klovett quit (Ping timeout: 272 seconds) 2018-11-13T18:29:38Z pjb: perhaps indeed, if you add this line to your /etc/hosts you will be able to do a wget -m ? 2018-11-13T18:29:51Z ecraven: just doing that ;D 2018-11-13T18:39:15Z ravndal quit (Quit: WeeChat 2.3) 2018-11-13T18:40:05Z ManDay quit (Quit: WeeChat 2.2) 2018-11-13T18:40:58Z ravndal joined #scheme 2018-11-13T18:41:56Z ManDay[m] left #scheme 2018-11-13T18:47:28Z InverseRhombus joined #scheme 2018-11-13T18:48:15Z alezost joined #scheme 2018-11-13T18:48:41Z wasamasa: gogo, ecraven 2018-11-13T19:02:11Z zachk joined #scheme 2018-11-13T19:04:36Z rain1: so what's the plan for readscheme and stuff, we should organize togeter 2018-11-13T19:05:17Z wasamasa: well, find someone with a cool domain, someone with good hosting and marry them 2018-11-13T19:05:33Z wasamasa: I have some hosting space 2018-11-13T19:05:51Z pjb: It's only 1.5G; you can include it on any website… 2018-11-13T19:06:02Z pjb: Why not schemers.org? 2018-11-13T19:06:10Z wasamasa: oh well, contact me if it's hundreds of gigs 2018-11-13T19:07:14Z inode left #scheme 2018-11-13T19:08:14Z rain1: good idea. does anyone here have edit access for schemers.org 2018-11-13T19:11:02Z DGASAU` joined #scheme 2018-11-13T19:11:17Z smazga joined #scheme 2018-11-13T19:11:29Z DGASAU quit (Remote host closed the connection) 2018-11-13T19:15:56Z smazga quit (Ping timeout: 268 seconds) 2018-11-13T19:21:50Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T19:22:44Z rain1: could someone upload a zip of readscheme.org please 2018-11-13T19:24:27Z DGASAU joined #scheme 2018-11-13T19:25:44Z gwatt: I wonder if cicso could be convinced to open up scheme.com 2018-11-13T19:25:59Z zachk quit (Changing host) 2018-11-13T19:25:59Z zachk joined #scheme 2018-11-13T19:26:48Z Riastradh: gwatt: Talk to Kent Dybvig. 2018-11-13T19:27:09Z gwatt: Riastradh: Ah, he didn't sell scheme.com to cisco as part of the ChezScheme purchase? 2018-11-13T19:27:55Z rain1: What if the R stands for Riastradh Kent Dybvig 2018-11-13T19:28:04Z Riastradh: Heh. 2018-11-13T19:28:29Z Riastradh: gwatt: I don't know who owns it but he probably knows the right contacts even if he doesn't. 2018-11-13T19:31:00Z gwatt: rain1: the going joke as IU was that it stood for "Ronak". Someone edited his wikipedia page to display that. The fallacious middle name was removed, but a little while later it showed up in an academic paper. 2018-11-13T19:32:06Z rain1: hah 2018-11-13T19:32:18Z rain1: so i can't accesss repository.readscheme.org even if i add that ip address to hosts 2018-11-13T19:32:51Z rain1: I kind of think readscheme.org would be cool if it became a wiki that anyone can add to 2018-11-13T19:33:26Z rain1: I have a wiki page for papers on continuations https://github.com/rain-1/continuations-study-group/wiki/Reading-List it could be similar to that 2018-11-13T19:34:45Z rain1: there is also partial-eval.org 2018-11-13T19:35:19Z weinholt: rain1, i can access it that way, perhaps you have the non-hosts ip cached somewhere? 2018-11-13T19:39:56Z pjb: Compressing… 2018-11-13T19:47:15Z pjb: rain1: I can't upload, but you can download the mirror I just made from ftp://ftp.informatimago.com/pub/scheme-mirrors/rs.tar.xz 2018-11-13T19:47:28Z pjb: 1.2GB, xz compression saved 300 MB :-/ 2018-11-13T19:56:02Z rain1: nice 2018-11-13T19:57:43Z emar quit (Quit: WeeChat 2.3) 2018-11-13T19:58:08Z daviid joined #scheme 2018-11-13T20:00:53Z emar joined #scheme 2018-11-13T20:04:45Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-13T20:07:05Z smazga joined #scheme 2018-11-13T20:08:57Z jcowan: rain1: could create a Wikia 2018-11-13T20:11:03Z jcowan: scheme.com does not appear to have anything to do with Cisco; the DNS is from pairdomains.com, not cisco.com 2018-11-13T20:12:11Z wasamasa: ugh, wikia 2018-11-13T20:12:16Z wasamasa: no ads please 2018-11-13T20:12:26Z qu1j0t3: we're british 2018-11-13T20:13:55Z DGASAU` joined #scheme 2018-11-13T20:14:01Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-13T20:16:02Z jcowan shrugs 2018-11-13T20:16:08Z jcowan: easy to block, at least the last time I looked 2018-11-13T20:16:50Z Zipheir: Ahem, it's Fandom these days. Also, ugh. 2018-11-13T20:17:16Z jcowan: Keeping things on random people's servers is part of the Curse of Lisp; the Scheme community lost a whole chunk of its history when the only server that kept parts of our mailing list (and blocked the IA with robots.txt) went down forever. 2018-11-13T20:17:59Z Zipheir: Someone should register curse-of-lisp.org and have it 404, permanently. 2018-11-13T20:18:43Z Zipheir: (As a warning) 2018-11-13T20:19:24Z jcowan laughs 2018-11-13T20:22:12Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T20:23:04Z klovett joined #scheme 2018-11-13T20:26:45Z klovett_ quit (Ping timeout: 252 seconds) 2018-11-13T20:26:50Z confusedwanderer quit (Remote host closed the connection) 2018-11-13T20:30:08Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-13T20:31:18Z rain1: yeah good idea. i find miraheze is a little nicer than wikia 2018-11-13T20:31:42Z rain1: git is also an option since it makes it easy to copy/mirror 2018-11-13T20:32:12Z Zipheir: +1 for the repo idea. 2018-11-13T20:33:34Z nly joined #scheme 2018-11-13T20:37:17Z nly quit (Read error: Connection reset by peer) 2018-11-13T20:38:22Z smazga quit (Ping timeout: 272 seconds) 2018-11-13T20:43:27Z civodul joined #scheme 2018-11-13T20:43:41Z wilfredh quit (Quit: Connection closed for inactivity) 2018-11-13T20:47:44Z nly joined #scheme 2018-11-13T20:48:57Z jeapostrophe47 joined #scheme 2018-11-13T20:50:52Z johnjay joined #scheme 2018-11-13T20:53:42Z pjb quit (Ping timeout: 252 seconds) 2018-11-13T20:54:39Z ecraven: rain1: put the ip in hosts, then use http, should work fine 2018-11-13T21:01:12Z rain1: ty 2018-11-13T21:02:52Z wigust joined #scheme 2018-11-13T21:05:12Z pjb joined #scheme 2018-11-13T21:07:25Z smazga joined #scheme 2018-11-13T21:19:47Z smazga quit (Ping timeout: 240 seconds) 2018-11-13T21:19:52Z DGASAU joined #scheme 2018-11-13T21:27:35Z vyzo joined #scheme 2018-11-13T21:30:00Z lritter quit (Remote host closed the connection) 2018-11-13T21:37:59Z Zipheir quit (Remote host closed the connection) 2018-11-13T21:43:13Z smazga joined #scheme 2018-11-13T21:51:31Z smazga quit (Quit: leaving) 2018-11-13T22:00:05Z grettke joined #scheme 2018-11-13T22:04:06Z dbmikus_ quit (Ping timeout: 252 seconds) 2018-11-13T22:06:13Z robotoad quit (Read error: Connection reset by peer) 2018-11-13T22:06:57Z robotoad joined #scheme 2018-11-13T22:08:46Z stux16777216Away joined #scheme 2018-11-13T22:09:13Z hugo quit (Ping timeout: 268 seconds) 2018-11-13T22:09:13Z stux|work quit (Ping timeout: 268 seconds) 2018-11-13T22:09:36Z hugo joined #scheme 2018-11-13T22:09:50Z marvin2 quit (Ping timeout: 268 seconds) 2018-11-13T22:13:05Z marvin2 joined #scheme 2018-11-13T22:13:17Z TheGreekOwl quit (Ping timeout: 244 seconds) 2018-11-13T22:16:30Z klovett_ joined #scheme 2018-11-13T22:18:48Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-13T22:19:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-13T22:37:06Z catonano joined #scheme 2018-11-13T22:45:06Z dbmikus joined #scheme 2018-11-13T22:47:03Z catonano quit (Quit: catonano) 2018-11-13T22:47:47Z catonano joined #scheme 2018-11-13T22:55:03Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-13T22:56:44Z catonano quit (Quit: catonano) 2018-11-13T22:57:00Z catonano joined #scheme 2018-11-13T22:59:42Z dbmikus quit (Remote host closed the connection) 2018-11-13T23:05:15Z catonano quit (Ping timeout: 252 seconds) 2018-11-13T23:06:56Z longshi joined #scheme 2018-11-13T23:11:15Z keep_learning_M joined #scheme 2018-11-13T23:26:09Z siiky joined #scheme 2018-11-13T23:27:58Z hive-mind quit (Ping timeout: 245 seconds) 2018-11-13T23:28:46Z siiky quit (Client Quit) 2018-11-13T23:41:25Z hive-mind joined #scheme 2018-11-13T23:46:28Z grettke joined #scheme 2018-11-13T23:47:50Z DGASAU quit (Ping timeout: 244 seconds) 2018-11-13T23:56:08Z klovett joined #scheme 2018-11-13T23:59:43Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-14T00:04:10Z longshi quit (Quit: WeeChat 2.3) 2018-11-14T00:09:30Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-14T00:11:37Z silas quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-14T00:17:42Z silas joined #scheme 2018-11-14T00:22:59Z robotoad quit (Quit: robotoad) 2018-11-14T00:23:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T00:27:49Z johnjay quit (Ping timeout: 256 seconds) 2018-11-14T00:32:38Z grettke joined #scheme 2018-11-14T00:47:51Z dbmikus_ joined #scheme 2018-11-14T00:51:39Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T00:54:42Z robotoad joined #scheme 2018-11-14T01:00:30Z elliot_ joined #scheme 2018-11-14T01:03:24Z grettke joined #scheme 2018-11-14T01:03:35Z elliot_ quit (Client Quit) 2018-11-14T01:04:04Z elliottryingagai joined #scheme 2018-11-14T01:05:16Z elliottryingagai quit (Client Quit) 2018-11-14T01:07:12Z sethalves joined #scheme 2018-11-14T01:07:58Z jao quit (Ping timeout: 245 seconds) 2018-11-14T01:14:38Z dbmikus_ quit (Ping timeout: 244 seconds) 2018-11-14T01:54:00Z elderK joined #scheme 2018-11-14T02:05:16Z khisanth_ quit (Ping timeout: 244 seconds) 2018-11-14T02:16:35Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T02:16:53Z edgar-rft joined #scheme 2018-11-14T02:17:45Z khisanth_ joined #scheme 2018-11-14T02:19:46Z zachk quit (Quit: Leaving) 2018-11-14T02:30:12Z DGASAU joined #scheme 2018-11-14T02:38:34Z alyptik quit (Ping timeout: 252 seconds) 2018-11-14T02:39:44Z grettke joined #scheme 2018-11-14T02:50:42Z alyptik joined #scheme 2018-11-14T02:51:15Z DGASAU quit (Read error: Connection reset by peer) 2018-11-14T02:53:08Z robotoad quit (Quit: robotoad) 2018-11-14T02:54:43Z permagreen quit (Remote host closed the connection) 2018-11-14T02:57:27Z permagreen joined #scheme 2018-11-14T02:59:20Z klovett quit (K-Lined) 2018-11-14T03:03:48Z DGASAU joined #scheme 2018-11-14T03:05:18Z skapata quit (Remote host closed the connection) 2018-11-14T03:09:39Z DGASAU quit (Ping timeout: 252 seconds) 2018-11-14T03:09:42Z robotoad joined #scheme 2018-11-14T03:10:09Z razzy` joined #scheme 2018-11-14T03:14:10Z razzy`` joined #scheme 2018-11-14T03:14:12Z razzy quit (Ping timeout: 272 seconds) 2018-11-14T03:18:01Z razzy` quit (Ping timeout: 260 seconds) 2018-11-14T03:21:21Z DGASAU joined #scheme 2018-11-14T03:47:56Z DGASAU quit (Ping timeout: 276 seconds) 2018-11-14T03:48:04Z DGASAU` joined #scheme 2018-11-14T03:51:01Z DGASAU` quit (Client Quit) 2018-11-14T03:51:50Z DGASAU joined #scheme 2018-11-14T04:29:03Z shaunxcode joined #scheme 2018-11-14T04:30:17Z oni-on-ion quit (Quit: WeeChat 1.9.1) 2018-11-14T04:38:57Z shaunxcode quit (Ping timeout: 268 seconds) 2018-11-14T04:39:09Z oni-on-ion joined #scheme 2018-11-14T05:00:29Z zbigniew joined #scheme 2018-11-14T05:01:25Z zbigniew quit (Client Quit) 2018-11-14T05:01:42Z zbigniew joined #scheme 2018-11-14T05:03:51Z eMBee quit (Ping timeout: 252 seconds) 2018-11-14T05:05:15Z eMBee joined #scheme 2018-11-14T05:07:41Z catonano joined #scheme 2018-11-14T05:35:32Z lavaflow quit (Read error: No route to host) 2018-11-14T05:38:01Z lavaflow joined #scheme 2018-11-14T05:48:06Z nly quit (Ping timeout: 272 seconds) 2018-11-14T05:50:46Z TheGreekOwl joined #scheme 2018-11-14T05:51:13Z TheGreekOwl quit (Remote host closed the connection) 2018-11-14T05:54:57Z Inline quit (Quit: Leaving) 2018-11-14T06:05:26Z robotoad quit (Quit: robotoad) 2018-11-14T06:14:16Z klovett joined #scheme 2018-11-14T06:24:18Z robotoad joined #scheme 2018-11-14T07:25:04Z ManDay joined #scheme 2018-11-14T07:25:13Z ggole joined #scheme 2018-11-14T07:26:36Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T07:29:56Z ManDay: Here is the code that I mentioned yesterday: https://ideone.com/SkkO1M - in either guile2.0 or guile2.2 it produced an error, unless line 39 is commented-in. Which seems to be logically impossible. 2018-11-14T07:31:28Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-14T07:32:17Z ManDay: "Logically impossible" as in "not possible given there are no side-effects whatsoever" - the actual content of the program shouldn't matter. 2018-11-14T07:33:58Z ManDay: A related problem I'm having with this code: An incomprehensible backtrace from guile, which seems to drop all frames related to local lambdas. 2018-11-14T07:37:17Z lritter joined #scheme 2018-11-14T07:44:19Z bor0 joined #scheme 2018-11-14T07:46:37Z catonano quit (Quit: catonano) 2018-11-14T07:47:06Z catonano joined #scheme 2018-11-14T07:51:43Z catonano quit (Ping timeout: 245 seconds) 2018-11-14T07:52:10Z Zipheir joined #scheme 2018-11-14T07:54:25Z robotoad quit (Quit: robotoad) 2018-11-14T08:04:01Z keep_learning_M joined #scheme 2018-11-14T08:07:33Z pjb quit (Ping timeout: 252 seconds) 2018-11-14T08:17:15Z daviid quit (Ping timeout: 268 seconds) 2018-11-14T08:26:52Z jao joined #scheme 2018-11-14T08:35:02Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-14T08:36:39Z keep_learning_M joined #scheme 2018-11-14T08:38:51Z catonano joined #scheme 2018-11-14T08:44:33Z pjb joined #scheme 2018-11-14T08:48:41Z InverseRhombus quit (Remote host closed the connection) 2018-11-14T08:49:02Z klovett quit (Remote host closed the connection) 2018-11-14T08:51:21Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-14T08:51:52Z catonano quit (Quit: catonano) 2018-11-14T08:52:20Z catonano joined #scheme 2018-11-14T08:58:06Z ohama quit (Ping timeout: 272 seconds) 2018-11-14T09:00:35Z ohama joined #scheme 2018-11-14T09:01:30Z gravicappa joined #scheme 2018-11-14T09:02:21Z ManDay quit (Ping timeout: 256 seconds) 2018-11-14T09:14:06Z niklasl quit (Quit: Nettalk6 - www.ntalk.de) 2018-11-14T09:16:56Z niklasl joined #scheme 2018-11-14T09:21:23Z jao quit (Ping timeout: 268 seconds) 2018-11-14T09:29:30Z marvin3 joined #scheme 2018-11-14T09:31:02Z marvin2 quit (Ping timeout: 272 seconds) 2018-11-14T09:40:34Z xkapastel joined #scheme 2018-11-14T09:42:07Z bor0 quit (Quit: Leaving) 2018-11-14T10:03:14Z InverseRhombus joined #scheme 2018-11-14T10:05:25Z jao joined #scheme 2018-11-14T10:09:53Z catonano quit (Quit: catonano) 2018-11-14T10:11:49Z catonano joined #scheme 2018-11-14T10:12:33Z jao quit (Ping timeout: 245 seconds) 2018-11-14T10:15:52Z civodul joined #scheme 2018-11-14T10:38:36Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-14T10:52:14Z lockywolf joined #scheme 2018-11-14T11:04:22Z aeth quit (Ping timeout: 268 seconds) 2018-11-14T11:09:45Z catonano quit (Quit: catonano) 2018-11-14T11:21:33Z catonano joined #scheme 2018-11-14T11:23:38Z aeth joined #scheme 2018-11-14T11:25:54Z InverseRhombus joined #scheme 2018-11-14T11:35:59Z lockywolf_ joined #scheme 2018-11-14T11:35:59Z lockywolf quit (Read error: Connection reset by peer) 2018-11-14T11:58:43Z lockywolf__ joined #scheme 2018-11-14T12:01:12Z lockywolf_ quit (Ping timeout: 252 seconds) 2018-11-14T12:07:01Z DGASAU quit (Ping timeout: 246 seconds) 2018-11-14T12:15:07Z confusedwanderer joined #scheme 2018-11-14T12:46:29Z DGASAU joined #scheme 2018-11-14T12:46:58Z marvin3 quit (Ping timeout: 244 seconds) 2018-11-14T12:57:42Z TobiasWiese[m] joined #scheme 2018-11-14T12:58:25Z keep_learning_M joined #scheme 2018-11-14T13:05:23Z jao joined #scheme 2018-11-14T13:11:01Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-14T13:17:27Z DGASAU quit (Ping timeout: 240 seconds) 2018-11-14T13:25:22Z lockywolf__ quit (Ping timeout: 272 seconds) 2018-11-14T13:28:25Z keep_learning_M joined #scheme 2018-11-14T13:28:47Z jao quit (Ping timeout: 240 seconds) 2018-11-14T13:30:49Z TobiasWiese[m] left #scheme 2018-11-14T13:38:08Z catonano quit (Quit: catonano) 2018-11-14T13:40:22Z InverseRhombus quit (Remote host closed the connection) 2018-11-14T13:47:08Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-14T13:47:16Z DGASAU joined #scheme 2018-11-14T14:00:57Z klovett joined #scheme 2018-11-14T14:02:51Z catonano joined #scheme 2018-11-14T14:03:09Z dbmikus_ joined #scheme 2018-11-14T14:08:19Z catonano quit (Quit: catonano) 2018-11-14T14:12:49Z InverseRhombus joined #scheme 2018-11-14T14:24:21Z Zaab1t joined #scheme 2018-11-14T14:26:14Z badkins quit (Remote host closed the connection) 2018-11-14T14:35:35Z ManDay joined #scheme 2018-11-14T14:35:47Z ManDay: I seem to notoriously have problems with this channel. 2018-11-14T14:36:00Z ManDay: Don't know for how long I have been disconnected - no indication. 2018-11-14T14:36:17Z ManDay: Has anyone dropped by to look at my Guile backtrace/heisenbug problem? 2018-11-14T14:39:39Z sleepnap joined #scheme 2018-11-14T14:39:52Z qu1j0t3: ManDay: wb ... maybe you need to change your connection method. 2018-11-14T14:41:25Z ManDay: qu1j0t3: I wen't from not-working-at-all (Matrix w/o auth) to Freenode-Webirc, one little improvement at a time ;) 2018-11-14T14:41:42Z ManDay: If things keep failing me, I'll go weechat 2018-11-14T14:45:42Z badkins joined #scheme 2018-11-14T14:45:45Z DGASAU quit (Ping timeout: 268 seconds) 2018-11-14T14:46:08Z qu1j0t3: :) 2018-11-14T14:46:12Z qu1j0t3: yeah i'm on weechat/vps 2018-11-14T14:47:25Z jcowan: I used Hexchat on Windows for years, but now that I'm stuck on this Mac, I've switched to irccloud (free version) and it's decent. 2018-11-14T14:47:52Z jcowan: You can only have two networks, but I almost never use anything but Freenode anyway. 2018-11-14T14:48:24Z jcowan: and it keeps you connected when your system is asleep, theoretically for only two hours in the free version, but in practice for much longer. 2018-11-14T14:48:40Z qu1j0t3: there you go ManDay 2018-11-14T14:50:08Z ManDay: jcowan: I thought freenode webirc were the only web-client that could connect to freenode 2018-11-14T14:50:14Z badkins quit (Ping timeout: 250 seconds) 2018-11-14T14:50:25Z ManDay: i home i use weechat, it's just on my box at work i'm on webchat 2018-11-14T14:51:10Z jcowan: You're talking to irccloud's back end, which keeps your IRC connection open 2018-11-14T14:51:21Z jcowan: freenode doesn't know I'm coming from a web client 2018-11-14T14:51:25Z qu1j0t3: ^^ 2018-11-14T14:51:39Z ManDay: jcowan: so it's just a bouncer? 2018-11-14T14:52:09Z jcowan: Well, it is a bouncer; I don't know what you expect from bouncers, so I can't say if it's *just* a bouncer. Try it out, see if you like it. 2018-11-14T14:52:37Z badkins joined #scheme 2018-11-14T14:53:40Z ManDay: I don't like their website. They have that messedup scroll bar 2018-11-14T14:54:20Z ManDay: It's like a facade of a scrollbar, you can't grab it. 2018-11-14T14:54:32Z ManDay: hipster web designers 2018-11-14T14:54:39Z ManDay: anyway, no idea about guile? 2018-11-14T14:55:30Z jao joined #scheme 2018-11-14T14:57:15Z ManDay: To repeat for all ye without a bouncer: https://ideone.com/SkkO1M <- Is pure but will produce errors in Guile when L39 is out, else not. This should be impossible. Also, the backtraces are impossible to read. 2018-11-14T14:57:57Z ManDay: (fwiw I rewrote the code since this morning and fixed stuff up, but this weirdness is really suspicious anyhow) 2018-11-14T14:58:26Z ManDay: Also, after an initial restructure without any content change, the errors also disappeared 2018-11-14T15:03:01Z Inline joined #scheme 2018-11-14T15:04:27Z grettke joined #scheme 2018-11-14T15:08:07Z nly joined #scheme 2018-11-14T15:14:09Z wilfredh joined #scheme 2018-11-14T15:26:12Z sethalves quit (Quit: Leaving.) 2018-11-14T15:30:29Z angelds joined #scheme 2018-11-14T15:34:34Z robotoad joined #scheme 2018-11-14T15:37:02Z angelds quit (Ping timeout: 250 seconds) 2018-11-14T15:39:13Z brendyyn quit (Ping timeout: 245 seconds) 2018-11-14T15:51:45Z brendyyn joined #scheme 2018-11-14T16:00:12Z IstiCusi joined #scheme 2018-11-14T16:00:13Z IstiCusi quit (Client Quit) 2018-11-14T16:04:51Z jonaslund quit (Ping timeout: 244 seconds) 2018-11-14T16:08:11Z robotoad quit (Quit: robotoad) 2018-11-14T16:10:39Z IstiCusi joined #scheme 2018-11-14T16:10:44Z IstiCusi quit (Client Quit) 2018-11-14T16:11:29Z ByronJohnson quit (Ping timeout: 268 seconds) 2018-11-14T16:12:14Z ByronJohnson joined #scheme 2018-11-14T16:15:39Z ManDay: I just wish there was a scheme more like Haskell and a Haskell more like scheme... A scheme with types & pattern matching, currying & partial application... A haskell with a concise minmal syntax, S-expressions and little to no sugar... 2018-11-14T16:15:53Z ManDay: The perfect language! 2018-11-14T16:19:15Z smazga joined #scheme 2018-11-14T16:21:30Z rain1: have a go making it :) 2018-11-14T16:21:44Z rain1: the biggest problem I find with that though is the type language is so ugly in s-exyp 2018-11-14T16:21:50Z rain1: a -> b is really nice 2018-11-14T16:24:59Z pjb: ManDay: there's Liskell. 2018-11-14T16:26:50Z DKordic: ManDay: Enter. 2018-11-14T16:27:20Z DKordic: rain1: I prefer "(-> a b)". 2018-11-14T16:28:05Z rain1: really! 2018-11-14T16:28:25Z pjb: Yep. 2018-11-14T16:30:23Z ManDay: pjb: I'll look at it. It's less the style of S-expressions that appeals to me but the fact how minimal the program becomes. 90% are pure logic/content. with haskell, there is just so much scaffolding around the logical core 2018-11-14T16:31:02Z jcowan: Liskell vs. Hackett deathmatch! 2018-11-14T16:36:05Z robotoad joined #scheme 2018-11-14T16:42:27Z ggole quit (Quit: ggole) 2018-11-14T16:50:45Z sethalves joined #scheme 2018-11-14T16:57:15Z gravicappa quit (Ping timeout: 250 seconds) 2018-11-14T17:02:19Z ManDay quit (Ping timeout: 256 seconds) 2018-11-14T17:08:11Z oni-on-ion: no one suggested Typed Racket?? =) 2018-11-14T17:08:18Z oni-on-ion: or Mercury 2018-11-14T17:13:08Z badkins quit (Ping timeout: 268 seconds) 2018-11-14T17:17:33Z terpri joined #scheme 2018-11-14T17:40:21Z razzy`` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-14T17:42:23Z razzy joined #scheme 2018-11-14T17:48:02Z lambda-11235 joined #scheme 2018-11-14T17:48:04Z pie_ joined #scheme 2018-11-14T17:55:15Z skapata joined #scheme 2018-11-14T18:03:43Z elderK quit (Quit: Connection closed for inactivity) 2018-11-14T18:07:13Z mario-goulart quit (Remote host closed the connection) 2018-11-14T18:11:05Z klovett quit 2018-11-14T18:12:35Z jonaslund joined #scheme 2018-11-14T18:14:15Z mario-goulart joined #scheme 2018-11-14T18:20:45Z badkins joined #scheme 2018-11-14T18:35:09Z InverseRhombus quit (Remote host closed the connection) 2018-11-14T18:45:24Z daviid joined #scheme 2018-11-14T18:46:34Z pie_ quit (Ping timeout: 244 seconds) 2018-11-14T18:48:21Z klovett joined #scheme 2018-11-14T18:51:45Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T18:57:15Z alezost joined #scheme 2018-11-14T19:06:33Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-14T19:08:29Z grettke joined #scheme 2018-11-14T19:09:00Z dbmikus_ quit (Read error: Connection reset by peer) 2018-11-14T19:11:12Z dbmikus_ joined #scheme 2018-11-14T19:12:54Z InverseRhombus joined #scheme 2018-11-14T19:24:59Z jcowan: Or Miranda(R) 2018-11-14T19:26:11Z jcowan: In early Haskell papers whenever Miranda was mentioned there was a footnote: "Miranda is a trademark of Research Software Limited". 2018-11-14T19:28:03Z jcowan: Later on, sometimes the footnote said "Miranda here is not a trademark of Research Software Limited, but refers to the researcher So-and-so Miranda" 2018-11-14T19:28:11Z jcowan: or sometimes "Haskell is not a trademark." 2018-11-14T19:28:29Z xvx joined #scheme 2018-11-14T19:32:03Z Zipheir: "Haskell is not a trademark and will thus write the obituary of Miranda(R)." 2018-11-14T19:34:16Z xvx quit (Quit: xvx) 2018-11-14T19:35:15Z xvx joined #scheme 2018-11-14T19:40:02Z pierpal quit (Quit: Poof) 2018-11-14T19:40:21Z pierpal joined #scheme 2018-11-14T19:41:55Z amz3 joined #scheme 2018-11-14T19:45:24Z badkins quit (Ping timeout: 252 seconds) 2018-11-14T19:48:33Z jcowan: It has. 2018-11-14T20:01:08Z ngz joined #scheme 2018-11-14T20:09:37Z pierpal quit (Quit: Poof) 2018-11-14T20:09:55Z pierpal joined #scheme 2018-11-14T20:10:00Z badkins joined #scheme 2018-11-14T20:13:23Z Zaab1t quit (Quit: bye bye friends) 2018-11-14T20:22:07Z Perkol joined #scheme 2018-11-14T20:25:46Z acarrico quit (Ping timeout: 244 seconds) 2018-11-14T20:30:12Z dkmueller joined #scheme 2018-11-14T20:36:40Z wigust quit (Ping timeout: 272 seconds) 2018-11-14T20:36:52Z wigust joined #scheme 2018-11-14T20:38:46Z Perkol quit (Quit: Leaving) 2018-11-14T20:41:20Z dkmueller quit (Quit: Lost terminal) 2018-11-14T20:43:42Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-14T20:44:59Z juanfra joined #scheme 2018-11-14T20:48:26Z pierpal quit (Ping timeout: 276 seconds) 2018-11-14T20:49:27Z terpri quit (Read error: Connection reset by peer) 2018-11-14T20:50:12Z dkmueller joined #scheme 2018-11-14T21:06:21Z klovett quit 2018-11-14T21:08:36Z klovett joined #scheme 2018-11-14T21:09:53Z lritter quit (Quit: Leaving) 2018-11-14T21:17:46Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-14T21:18:57Z zachk joined #scheme 2018-11-14T21:21:17Z pie_ joined #scheme 2018-11-14T21:22:29Z klovett quit 2018-11-14T21:22:47Z zachk quit (Changing host) 2018-11-14T21:22:47Z zachk joined #scheme 2018-11-14T21:40:23Z nly quit (Quit: Quit) 2018-11-14T21:45:25Z Ober: What is the right way to get header to be defined at line 19? had thought it would be available through the call chain https://gist.github.com/e539555fa58707e5915eb641df88dcfc 2018-11-14T21:45:47Z dbmikus_ quit (Ping timeout: 240 seconds) 2018-11-14T21:46:30Z jcowan: No, variables bound by let or lambda or define are visible only in the lexical scope (until the ")" that ends the let or whatever) 2018-11-14T21:46:48Z jcowan: to get that result you must pass the value to format-me, or use parameters (an advanced feature with its own problems) 2018-11-14T21:56:16Z Riastradh: Ober: This is the nature of lexical scope, in contrast to dynamic scope, which very few programming languages use by default because it tends to make programs very hard to understand. 2018-11-14T21:58:50Z terpri joined #scheme 2018-11-14T21:59:49Z pjb: Ober: the right way to get header to be defined at line 19 would be to pass it as parameter to the format-me and format-org functions. 2018-11-14T22:00:01Z Ober: gotcha. thanks. 2018-11-14T22:00:07Z pjb: Ober: the alternative, is to use a global variable (untasty). 2018-11-14T22:00:11Z Ober: had thought lexical-let in elisp allowed this sort of behavior 2018-11-14T22:00:33Z pjb: Ober: and another way is to use dynamic binding. IIRC, there's a SRFI that implements dynamic binding. 2018-11-14T22:00:54Z pjb: elisp has dynamic binding by default. lexical-let wouldn't allow it. 2018-11-14T22:01:15Z Ober: ahh, thank you for the clarification 2018-11-14T22:01:33Z Ober: not sure where I got that impression 2018-11-14T22:02:12Z wasamasa: don't use lexical-let 2018-11-14T22:02:20Z wasamasa: it's a terrible hack 2018-11-14T22:03:30Z Ober: yeah, quite a fundamental misunderstanding of lexical binding on my part. not sure where that expectation came from 2018-11-14T22:05:29Z daviid quit (Ping timeout: 244 seconds) 2018-11-14T22:12:14Z ngz quit (Ping timeout: 250 seconds) 2018-11-14T22:13:32Z dbmikus_ joined #scheme 2018-11-14T22:19:07Z dbmikus__ joined #scheme 2018-11-14T22:19:35Z pjb: Ober: indeed, in emacs>=25, there's real lexical binding. You need to (setq lexical-binding t) and then (let ((x 24)) (lambda (y) (+ (incf x) y))) --> (closure ((x . 24) t) (y) (+ (setq x (1+ x)) y)) 2018-11-14T22:20:10Z pjb: lexical binding gives you closures. Without it, no lexical scope, no closures. 2018-11-14T22:21:30Z dbmikus_ quit (Ping timeout: 244 seconds) 2018-11-14T22:23:07Z klovett joined #scheme 2018-11-14T22:46:31Z pierpal joined #scheme 2018-11-14T22:47:33Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-14T22:50:03Z dbmikus__ quit (Ping timeout: 245 seconds) 2018-11-14T22:52:58Z pierpal quit (Ping timeout: 245 seconds) 2018-11-14T23:05:02Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-14T23:05:19Z dkmueller quit (Quit: Lost terminal) 2018-11-14T23:20:06Z sleepnap quit (Quit: Leaving.) 2018-11-14T23:28:29Z pie_ quit (Remote host closed the connection) 2018-11-14T23:29:22Z pie_ joined #scheme 2018-11-14T23:29:44Z pie_ quit (Remote host closed the connection) 2018-11-14T23:30:37Z pie_ joined #scheme 2018-11-14T23:32:58Z daviid joined #scheme 2018-11-14T23:44:29Z jao quit (Remote host closed the connection) 2018-11-14T23:46:57Z jao joined #scheme 2018-11-14T23:48:49Z jcowan: there is a new SRFI for dynamic closures too 2018-11-14T23:48:57Z jcowan: but they are for pretty special cases 2018-11-14T23:49:09Z smazga quit (Quit: leaving) 2018-11-14T23:50:11Z jcowan: https://srfi.schemers.org/srfi-154/srfi-154.html 2018-11-14T23:51:07Z daviid quit (Ping timeout: 240 seconds) 2018-11-14T23:54:01Z X-Scale quit (Ping timeout: 246 seconds) 2018-11-14T23:54:15Z Zipheir: Terminology question: dynamic scope == dynamic binding? 2018-11-14T23:55:13Z Zipheir: It seems like they're frequently used interchangeably, but perhaps that's wrong. 2018-11-14T23:55:56Z cozachk joined #scheme 2018-11-14T23:56:13Z [X-Scale] joined #scheme 2018-11-14T23:56:14Z wigust- joined #scheme 2018-11-14T23:56:40Z wigust quit (Ping timeout: 250 seconds) 2018-11-14T23:57:05Z [X-Scale] is now known as X-Scale 2018-11-14T23:58:17Z zachk quit (Ping timeout: 268 seconds) 2018-11-15T00:01:27Z cozachk quit (Quit: Leaving) 2018-11-15T00:02:51Z zachk joined #scheme 2018-11-15T00:03:45Z zachk quit (Changing host) 2018-11-15T00:03:45Z zachk joined #scheme 2018-11-15T00:05:14Z pierpal joined #scheme 2018-11-15T00:21:00Z daviid joined #scheme 2018-11-15T00:21:05Z robotoad quit (Quit: robotoad) 2018-11-15T00:33:30Z robotoad joined #scheme 2018-11-15T00:35:24Z xvx quit (Quit: xvx) 2018-11-15T00:36:21Z oni-on-ion quit (Ping timeout: 252 seconds) 2018-11-15T00:39:26Z klovett_ joined #scheme 2018-11-15T00:43:02Z klovett quit (Ping timeout: 272 seconds) 2018-11-15T00:43:55Z pie_ quit (Ping timeout: 268 seconds) 2018-11-15T00:45:59Z acarrico joined #scheme 2018-11-15T00:49:27Z jonaslund quit (Ping timeout: 240 seconds) 2018-11-15T00:56:10Z jonaslund joined #scheme 2018-11-15T00:59:24Z jcowan: Zipheir: Well, dynamic binding is a particular case of dynamic scope. Dynamic-wind is also a case of dynamic scope. 2018-11-15T01:01:48Z jao quit (Ping timeout: 268 seconds) 2018-11-15T01:05:17Z badkins quit (Ping timeout: 244 seconds) 2018-11-15T01:05:46Z badkins joined #scheme 2018-11-15T01:14:22Z badkins quit (Read error: Connection reset by peer) 2018-11-15T01:15:28Z zachk quit (Quit: Leaving) 2018-11-15T01:23:23Z badkins joined #scheme 2018-11-15T01:28:07Z tessier quit (Ping timeout: 240 seconds) 2018-11-15T01:29:43Z tessier joined #scheme 2018-11-15T01:35:27Z lockywolf joined #scheme 2018-11-15T01:45:49Z elderK joined #scheme 2018-11-15T01:55:22Z [X-Scale] joined #scheme 2018-11-15T01:55:39Z X-Scale quit (Ping timeout: 252 seconds) 2018-11-15T01:56:22Z [X-Scale] is now known as X-Scale 2018-11-15T01:58:30Z klovett joined #scheme 2018-11-15T02:00:01Z pierpal quit (Remote host closed the connection) 2018-11-15T02:01:36Z klovett_ quit (Ping timeout: 244 seconds) 2018-11-15T02:03:52Z daviid quit (Ping timeout: 246 seconds) 2018-11-15T02:16:24Z Zipheir: jcowan: ty 2018-11-15T02:20:59Z shaunxcode joined #scheme 2018-11-15T02:26:30Z keep_learning_M joined #scheme 2018-11-15T02:29:15Z lockywolf quit (Ping timeout: 250 seconds) 2018-11-15T02:29:56Z lockywolf joined #scheme 2018-11-15T02:30:24Z shaunxcode quit (Remote host closed the connection) 2018-11-15T02:33:25Z silas quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-15T02:35:00Z silas joined #scheme 2018-11-15T02:36:27Z klovett_ joined #scheme 2018-11-15T02:38:00Z terpri quit (Remote host closed the connection) 2018-11-15T02:38:56Z terpri joined #scheme 2018-11-15T02:39:34Z klovett quit (Ping timeout: 272 seconds) 2018-11-15T02:42:31Z jcowan: Speaking of which, does anyone understand the utility of first-class parameters (dynamically bindable objects) other than their use in threads? I've been trying to think about why you would want to put one in a data structure, for example, or pass it as an argument to a procedure, and coming up with zilch. 2018-11-15T02:44:18Z Riastradh: lexically scoping them 2018-11-15T02:44:56Z jcowan: To what benefit exactly? 2018-11-15T02:45:17Z jcowan: I am not making snark, I would really like to know 2018-11-15T02:46:12Z daviid joined #scheme 2018-11-15T02:47:38Z Riastradh: How else do you export them from modules? What namespace do they live in? 2018-11-15T02:53:03Z EternalZenith joined #scheme 2018-11-15T02:55:13Z skapata quit (Remote host closed the connection) 2018-11-15T03:02:09Z jcowan: You could invoke a procedure that returned one, e.g. 2018-11-15T03:02:23Z TheGreekOwl joined #scheme 2018-11-15T03:02:39Z terpri quit (Ping timeout: 252 seconds) 2018-11-15T03:04:27Z grettke joined #scheme 2018-11-15T03:12:11Z robotoad quit (Quit: robotoad) 2018-11-15T03:13:22Z Riastradh: How is that different? 2018-11-15T03:17:28Z DKordic quit (Ping timeout: 268 seconds) 2018-11-15T03:18:35Z acarrico quit (Ping timeout: 244 seconds) 2018-11-15T03:23:52Z robotoad joined #scheme 2018-11-15T03:34:26Z acarrico joined #scheme 2018-11-15T03:40:15Z lockywolf quit (Remote host closed the connection) 2018-11-15T03:41:14Z lockywolf joined #scheme 2018-11-15T03:47:15Z hive-mind quit (Ping timeout: 250 seconds) 2018-11-15T03:49:02Z klovett_ quit (Remote host closed the connection) 2018-11-15T03:54:52Z hive-mind joined #scheme 2018-11-15T03:58:39Z klovett joined #scheme 2018-11-15T04:19:47Z edgar-rft quit (Quit: Leaving) 2018-11-15T04:24:05Z badkins quit (Remote host closed the connection) 2018-11-15T04:26:18Z badkins joined #scheme 2018-11-15T04:30:42Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T04:30:52Z badkins quit (Ping timeout: 246 seconds) 2018-11-15T04:37:01Z daviid quit (Ping timeout: 260 seconds) 2018-11-15T04:41:39Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-15T04:50:01Z shaunxcode joined #scheme 2018-11-15T04:59:38Z EternalZenith quit (Ping timeout: 245 seconds) 2018-11-15T05:00:27Z shaunxcode quit (Ping timeout: 268 seconds) 2018-11-15T05:26:04Z lockywolf joined #scheme 2018-11-15T05:27:45Z lockywolf_ joined #scheme 2018-11-15T05:30:20Z lockywolf quit (Ping timeout: 250 seconds) 2018-11-15T05:55:46Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-15T05:57:00Z pjb quit (Ping timeout: 252 seconds) 2018-11-15T05:58:59Z kilimanjaro quit (Ping timeout: 250 seconds) 2018-11-15T05:58:59Z mats quit (Ping timeout: 250 seconds) 2018-11-15T05:59:25Z kwmiebach quit (Ping timeout: 250 seconds) 2018-11-15T05:59:51Z weltung quit (Ping timeout: 250 seconds) 2018-11-15T06:00:23Z kilimanjaro joined #scheme 2018-11-15T06:00:26Z zbigniew quit (Ping timeout: 260 seconds) 2018-11-15T06:00:26Z jp quit (Ping timeout: 260 seconds) 2018-11-15T06:00:26Z davexunit quit (Ping timeout: 260 seconds) 2018-11-15T06:00:26Z mats joined #scheme 2018-11-15T06:00:27Z weltung joined #scheme 2018-11-15T06:00:41Z zbigniew joined #scheme 2018-11-15T06:00:49Z kwmiebach joined #scheme 2018-11-15T06:07:02Z Inline quit (Quit: Leaving) 2018-11-15T06:18:35Z davexunit joined #scheme 2018-11-15T06:25:09Z jp joined #scheme 2018-11-15T06:30:20Z lockywolf_ quit (Remote host closed the connection) 2018-11-15T06:30:41Z lockywolf_ joined #scheme 2018-11-15T06:34:59Z oni-on-ion joined #scheme 2018-11-15T06:47:03Z klovett quit (Ping timeout: 252 seconds) 2018-11-15T06:57:07Z DKordic joined #scheme 2018-11-15T07:14:31Z grettke joined #scheme 2018-11-15T07:25:27Z Zaab1t joined #scheme 2018-11-15T07:56:41Z ggole joined #scheme 2018-11-15T07:57:12Z lockywolf_ quit (Ping timeout: 252 seconds) 2018-11-15T08:04:33Z robotoad quit (Quit: robotoad) 2018-11-15T08:05:15Z lambda-11235 quit (Quit: Bye) 2018-11-15T08:17:12Z Zaab1t quit (Quit: bye bye friends) 2018-11-15T08:48:44Z keep_learning_M joined #scheme 2018-11-15T09:06:43Z civodul joined #scheme 2018-11-15T09:15:30Z ManDay joined #scheme 2018-11-15T09:21:27Z ogamita joined #scheme 2018-11-15T09:30:03Z jao joined #scheme 2018-11-15T09:32:47Z ogamita quit (Ping timeout: 240 seconds) 2018-11-15T09:37:27Z keep_learning_M quit (Quit: Leaving) 2018-11-15T09:39:31Z ogamita joined #scheme 2018-11-15T09:44:36Z ogamita quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-15T09:45:22Z ogamita joined #scheme 2018-11-15T10:03:16Z bor0 joined #scheme 2018-11-15T10:03:19Z enderby joined #scheme 2018-11-15T10:04:56Z enderby left #scheme 2018-11-15T10:13:49Z keep_learning_M joined #scheme 2018-11-15T10:17:26Z trafaret1 joined #scheme 2018-11-15T10:17:28Z trafaret1: hi htere 2018-11-15T10:17:49Z trafaret1: does anybody use Artanis framework for building web app? 2018-11-15T10:19:38Z keep_learning_M quit (Quit: Leaving) 2018-11-15T10:23:40Z keep_learning_M joined #scheme 2018-11-15T10:39:44Z InverseRhombus quit (Remote host closed the connection) 2018-11-15T10:39:49Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T11:01:06Z InverseRhombus joined #scheme 2018-11-15T11:17:59Z InverseRhombus quit (Remote host closed the connection) 2018-11-15T11:18:47Z jao quit (Ping timeout: 250 seconds) 2018-11-15T11:23:23Z dkmueller joined #scheme 2018-11-15T11:29:45Z bor0 quit (Quit: Leaving) 2018-11-15T11:30:30Z trafaret` joined #scheme 2018-11-15T11:31:47Z trafaret1 quit (Ping timeout: 250 seconds) 2018-11-15T11:36:45Z oni-on-ion quit (Quit: WeeChat 1.9.1) 2018-11-15T11:37:52Z xkapastel joined #scheme 2018-11-15T11:41:58Z lockywolf joined #scheme 2018-11-15T11:47:04Z pierpal joined #scheme 2018-11-15T11:56:08Z grettke joined #scheme 2018-11-15T11:56:28Z trafaret` quit (Ping timeout: 264 seconds) 2018-11-15T12:01:52Z InverseRhombus joined #scheme 2018-11-15T12:02:34Z InverseRhombus quit (Max SendQ exceeded) 2018-11-15T12:02:54Z InverseRhombus joined #scheme 2018-11-15T12:03:06Z Zaab1t joined #scheme 2018-11-15T12:19:44Z Zaab1t quit (Quit: bye bye friends) 2018-11-15T12:46:45Z skapata joined #scheme 2018-11-15T12:49:42Z confusedwanderer joined #scheme 2018-11-15T12:51:08Z InverseRhombus quit (Remote host closed the connection) 2018-11-15T13:02:30Z Zaab1t joined #scheme 2018-11-15T13:37:03Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-15T13:39:35Z lritter joined #scheme 2018-11-15T13:47:54Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T13:48:37Z pierpal quit (Quit: Poof) 2018-11-15T13:48:55Z pierpal joined #scheme 2018-11-15T13:54:49Z skapata: Saluton! 2018-11-15T13:55:12Z skapata: Ĉi nokte, mi kriis dum la sonĝo kaj vekiĝis. Eble mi vekiĝis miajn najbarojn kune. 2018-11-15T13:55:58Z ManDay: skapata: English? 2018-11-15T13:57:22Z wasamasa: esperanto 2018-11-15T14:01:51Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-15T14:11:20Z ogamita: Yes, esperanto should have been the official language of the European Union, if the European Union was really what it should be about. But instead, they use the language of the banksters, English, even when no country in the EU has English as official language anymore (or soon). 2018-11-15T14:11:43Z ogamita: We'll have to destroy the EU, and start over good. 2018-11-15T14:12:05Z wasamasa: nobody cares 2018-11-15T14:12:21Z ventonegro: Thanks for the chuckle 2018-11-15T14:13:20Z ManDay: I really think German should be made the EU-wide mandatory language 2018-11-15T14:13:20Z dbmikus__ joined #scheme 2018-11-15T14:13:32Z skapata: Wrong channel, sorry. 2018-11-15T14:13:34Z ventonegro: Das stimmt 2018-11-15T14:13:53Z ManDay: Danke! 2018-11-15T14:14:14Z ogamita: ManDay: Well in THIS EU, yes, why not. 2018-11-15T14:14:49Z ManDay changes the channel topic to "(speak 'German), official language of #scheme (and soon rest of IRC)" 2018-11-15T14:17:53Z ManDay: ogamita: Fwiw, I think the Irish still speak some sort of English. Not the understandable kind, but if you listen carefully, it sounds like it. 2018-11-15T14:18:22Z ventonegro: He's just trolling 2018-11-15T14:19:34Z ogamita: Irish and Ulster Cant are enough for any good Irishman. 2018-11-15T14:21:02Z ManDay: Say what? Ulster cant? 2018-11-15T14:21:11Z ManDay: Google suggests "Ulster coat" 2018-11-15T14:21:38Z ManDay: or did you mean to say "cant be enough" ? 2018-11-15T14:23:32Z ogamita: Sorry, I meant Ulster Scots. 2018-11-15T14:24:12Z jao joined #scheme 2018-11-15T14:24:15Z ManDay: did you just refer to the scots as cunts?! 2018-11-15T14:25:08Z ogamita: ManDay: No. I guess I've seen the word in another window. There's clearly a context protection problem in my wetware… 2018-11-15T14:27:10Z ManDay: fair enough 2018-11-15T14:28:08Z DGASAU joined #scheme 2018-11-15T14:34:36Z badkins joined #scheme 2018-11-15T14:35:16Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-15T14:41:16Z ManDay quit (Quit: WeeChat 2.2) 2018-11-15T14:47:30Z ogamita` joined #scheme 2018-11-15T14:47:50Z Inline joined #scheme 2018-11-15T14:47:56Z ogamita` quit (Remote host closed the connection) 2018-11-15T14:48:21Z ogamita quit (Ping timeout: 260 seconds) 2018-11-15T14:48:42Z ogamita joined #scheme 2018-11-15T14:49:23Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-15T14:51:34Z InverseRhombus joined #scheme 2018-11-15T14:52:15Z klovett joined #scheme 2018-11-15T15:01:57Z skapata quit (Read error: Connection reset by peer) 2018-11-15T15:02:28Z skapata joined #scheme 2018-11-15T15:17:47Z klovett_ joined #scheme 2018-11-15T15:22:58Z DGASAU joined #scheme 2018-11-15T15:29:00Z klovett_ quit 2018-11-15T15:32:43Z DGASAU quit (Ping timeout: 250 seconds) 2018-11-15T15:33:17Z DGASAU joined #scheme 2018-11-15T15:33:24Z klovett_ joined #scheme 2018-11-15T15:37:47Z klovett_ quit (Client Quit) 2018-11-15T15:38:49Z DGASAU` joined #scheme 2018-11-15T15:39:11Z DGASAU quit (Read error: Connection reset by peer) 2018-11-15T15:40:08Z klovett_ joined #scheme 2018-11-15T15:42:03Z DGASAU` quit (Client Quit) 2018-11-15T15:42:26Z DGASAU joined #scheme 2018-11-15T15:49:24Z klovett_ quit 2018-11-15T15:53:01Z smazga joined #scheme 2018-11-15T16:03:02Z klovett_ joined #scheme 2018-11-15T16:04:08Z dkmueller quit (Quit: Lost terminal) 2018-11-15T16:05:06Z rain1: hello 2018-11-15T16:05:12Z rain1: I started porting my PEG parser libraryto guile scheme 2018-11-15T16:05:23Z rain1: https://github.com/rain-1/racket-peg/tree/guile 2018-11-15T16:09:19Z jcowan: nice 2018-11-15T16:09:27Z rain1: thank you! 2018-11-15T16:11:35Z klovett quit 2018-11-15T16:12:44Z klovett_ quit 2018-11-15T16:13:08Z ogamita quit (Read error: Connection reset by peer) 2018-11-15T16:14:24Z klovett joined #scheme 2018-11-15T16:14:46Z klovett_ joined #scheme 2018-11-15T16:15:53Z robotoad joined #scheme 2018-11-15T16:16:41Z klovett_ quit (Client Quit) 2018-11-15T16:17:45Z klovett quit (Client Quit) 2018-11-15T16:18:04Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-15T16:18:33Z DGASAU joined #scheme 2018-11-15T16:20:13Z civodul joined #scheme 2018-11-15T16:21:16Z klovett joined #scheme 2018-11-15T16:24:08Z DGASAU quit (Remote host closed the connection) 2018-11-15T16:24:35Z DGASAU` joined #scheme 2018-11-15T16:27:02Z DGASAU` quit (Client Quit) 2018-11-15T16:27:23Z DGASAU joined #scheme 2018-11-15T16:39:40Z bheesham quit (Quit: WeeChat 1.4) 2018-11-15T16:40:25Z bheesham joined #scheme 2018-11-15T16:45:24Z elderK quit (Quit: Connection closed for inactivity) 2018-11-15T16:59:26Z grettke joined #scheme 2018-11-15T17:02:21Z klovett_ joined #scheme 2018-11-15T17:04:51Z klovett quit (Ping timeout: 260 seconds) 2018-11-15T17:06:46Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-15T17:08:33Z r1b joined #scheme 2018-11-15T17:08:40Z r1b quit (Client Quit) 2018-11-15T17:12:27Z pjb joined #scheme 2018-11-15T17:38:48Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T17:42:58Z Perkol joined #scheme 2018-11-15T17:43:15Z Perkol quit (Remote host closed the connection) 2018-11-15T17:45:31Z ggole quit (Quit: ggole) 2018-11-15T17:50:16Z eMBee quit (Ping timeout: 246 seconds) 2018-11-15T17:52:46Z eMBee joined #scheme 2018-11-15T18:02:34Z DGASAU` joined #scheme 2018-11-15T18:03:11Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-15T18:10:48Z grettke joined #scheme 2018-11-15T18:17:32Z DGASAU` quit (Read error: No route to host) 2018-11-15T18:17:51Z notzmv joined #scheme 2018-11-15T18:59:43Z alezost joined #scheme 2018-11-15T19:03:24Z lyf[kde] joined #scheme 2018-11-15T19:04:08Z hook54321 quit (Quit: Connection closed for inactivity) 2018-11-15T19:05:37Z lyf[kde]: The Seasoned Schemer finally arrived! 2018-11-15T19:06:07Z bheesham quit (Quit: WeeChat 1.4) 2018-11-15T19:06:55Z silas quit (Ping timeout: 246 seconds) 2018-11-15T19:07:04Z nly joined #scheme 2018-11-15T19:10:29Z DGASAU joined #scheme 2018-11-15T19:12:18Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T19:12:53Z daviid joined #scheme 2018-11-15T19:14:17Z snits_ joined #scheme 2018-11-15T19:14:17Z snits_ quit (Client Quit) 2018-11-15T19:16:18Z silas joined #scheme 2018-11-15T19:28:07Z lyf[kde] quit (Read error: Connection reset by peer) 2018-11-15T19:28:39Z dtornabene joined #scheme 2018-11-15T19:31:58Z grettke joined #scheme 2018-11-15T19:33:33Z thinkpad` joined #scheme 2018-11-15T19:40:16Z silas quit (Ping timeout: 264 seconds) 2018-11-15T19:41:35Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-15T19:45:29Z thinkpad` left #scheme 2018-11-15T19:47:34Z zachk joined #scheme 2018-11-15T19:48:14Z zachk quit (Changing host) 2018-11-15T19:48:14Z zachk joined #scheme 2018-11-15T19:55:30Z daviid quit (Read error: Connection reset by peer) 2018-11-15T19:55:47Z daviid joined #scheme 2018-11-15T20:01:47Z DGASAU` joined #scheme 2018-11-15T20:02:09Z DGASAU quit (Remote host closed the connection) 2018-11-15T20:09:15Z pierpal quit (Ping timeout: 252 seconds) 2018-11-15T20:23:29Z amz3: I confess I am thinking everyday about moving to chez scheme 2018-11-15T20:25:06Z wasamasa: so chez is beguiling you? 2018-11-15T20:25:22Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-15T20:26:34Z wasamasa: did you know that if you translate chez scheme to german, you get mit-scheme... 2018-11-15T20:27:17Z wasamasa: my puns are no good, better flush them down the big loo 2018-11-15T20:27:24Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-15T20:27:51Z jcowan: pffft 2018-11-15T20:28:01Z jcowan: wasamasa: adds a smile to a grim day for me 2018-11-15T20:28:30Z jcowan: spent much time fighting Scala, time on the loo (not big at all), soon to be followed by an hour on the phone or so 2018-11-15T20:28:39Z longshi joined #scheme 2018-11-15T20:29:53Z wasamasa: yeah, I'm just procrastinating on a different task 2018-11-15T20:30:08Z qu1j0t3: jcowan: want help with the scala stuff? hmu on another channel 2018-11-15T20:31:10Z jcowan: nah, it's not foundational, it's our test infrastructure. Some tests are failing for no apparent reason. 2018-11-15T20:31:44Z qu1j0t3: k 2018-11-15T20:32:58Z confusedwanderer joined #scheme 2018-11-15T20:36:35Z silas joined #scheme 2018-11-15T20:43:31Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-15T20:48:04Z DGASAU` quit (Remote host closed the connection) 2018-11-15T20:48:27Z DGASAU` joined #scheme 2018-11-15T20:49:01Z pierpal joined #scheme 2018-11-15T20:58:41Z Zaab1t quit (Quit: bye bye friends) 2018-11-15T21:02:52Z nly quit (Read error: Connection reset by peer) 2018-11-15T21:02:57Z nlyy joined #scheme 2018-11-15T21:03:50Z nlyy quit (Read error: Connection reset by peer) 2018-11-15T21:04:12Z nly joined #scheme 2018-11-15T21:18:02Z quipa joined #scheme 2018-11-15T21:19:49Z quipa: Hello, does someone know of a implementation of pi-calculus based language in scheme / lisp / racket ? 2018-11-15T21:23:46Z qu1j0t3 quit (Quit: WeeChat 0.4.3) 2018-11-15T21:25:53Z silas quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-15T21:27:26Z silas joined #scheme 2018-11-15T21:29:29Z DGASAU` quit (Read error: Connection reset by peer) 2018-11-15T21:31:00Z longshi quit (Ping timeout: 252 seconds) 2018-11-15T21:32:34Z DGASAU` joined #scheme 2018-11-15T21:36:58Z quipa quit (Remote host closed the connection) 2018-11-15T21:37:15Z quipa joined #scheme 2018-11-15T21:37:41Z pierpal quit (Read error: Connection reset by peer) 2018-11-15T21:37:55Z pierpal joined #scheme 2018-11-15T21:44:04Z dtornabene quit (Quit: Leaving) 2018-11-15T21:46:18Z DGASAU` quit (Ping timeout: 245 seconds) 2018-11-15T21:55:21Z silas quit (Ping timeout: 250 seconds) 2018-11-15T22:01:30Z qu1j0t3 joined #scheme 2018-11-15T22:11:17Z Blkt_ quit (Remote host closed the connection) 2018-11-15T22:11:24Z webshinra quit (Remote host closed the connection) 2018-11-15T22:11:32Z Blkt joined #scheme 2018-11-15T22:17:51Z notzmv left #scheme 2018-11-15T22:29:30Z daviid quit (Ping timeout: 252 seconds) 2018-11-15T22:29:46Z dbmikus__ quit (Ping timeout: 260 seconds) 2018-11-15T22:30:14Z hive-mind quit (Ping timeout: 272 seconds) 2018-11-15T22:31:31Z jao quit (Ping timeout: 260 seconds) 2018-11-15T22:32:51Z jao joined #scheme 2018-11-15T22:34:43Z hive-mind joined #scheme 2018-11-15T22:45:45Z keep_learning_M joined #scheme 2018-11-15T22:54:08Z hook54321 joined #scheme 2018-11-15T22:55:43Z klovett joined #scheme 2018-11-15T22:58:15Z rain1: quipa: I may be mistaken but I think gerbil is 2018-11-15T22:59:29Z klovett_ quit (Ping timeout: 276 seconds) 2018-11-15T23:00:51Z smazga quit (Quit: leaving) 2018-11-15T23:01:10Z amz3: wasamasa: :) 2018-11-15T23:02:09Z Riastradh: quipa: Here's a Scheme implementation of Concurrent ML, if that's close enough to what you're looking for: https://mumble.net/~campbell/darcs/scheme-cml/ 2018-11-15T23:06:19Z quipa: rainl, Riastradh: cool thanks will check those out 2018-11-15T23:06:59Z deuill joined #scheme 2018-11-15T23:07:44Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-15T23:08:21Z quipa: rainl: is this the one https://github.com/vyzo/gerbil ? 2018-11-15T23:10:07Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-15T23:15:49Z pierpal quit (Read error: Connection reset by peer) 2018-11-15T23:20:40Z daviid joined #scheme 2018-11-15T23:28:27Z rain1: oh sorry termite not gerbil, my bad 2018-11-15T23:28:43Z rain1: it might not be exactly what you meant but it has concurrency and mailboxes and stuff 2018-11-15T23:31:16Z pierpal joined #scheme 2018-11-15T23:33:40Z pierpal quit (Read error: Connection reset by peer) 2018-11-15T23:33:55Z pierpal joined #scheme 2018-11-15T23:42:22Z pierpal quit (Ping timeout: 246 seconds) 2018-11-15T23:42:23Z Zenton quit (Ping timeout: 276 seconds) 2018-11-15T23:47:43Z klovett quit (Ping timeout: 268 seconds) 2018-11-15T23:52:54Z Zipheir: Does/Will r7rs have a position on concurrent programming in general? 2018-11-15T23:53:10Z pierpal joined #scheme 2018-11-15T23:58:59Z klovett joined #scheme 2018-11-16T00:07:08Z robotoad quit (Quit: robotoad) 2018-11-16T00:21:13Z pierpal quit (Read error: Connection reset by peer) 2018-11-16T00:21:29Z pierpal joined #scheme 2018-11-16T00:26:38Z robotoad joined #scheme 2018-11-16T00:27:55Z brettgilio joined #scheme 2018-11-16T00:27:58Z grettke joined #scheme 2018-11-16T00:44:59Z quipa: rain1: cool thanks 2018-11-16T00:46:26Z quipa quit (Remote host closed the connection) 2018-11-16T00:50:58Z brettgilio quit (Remote host closed the connection) 2018-11-16T00:54:00Z xkapastel joined #scheme 2018-11-16T00:59:53Z wigust joined #scheme 2018-11-16T01:01:06Z wigust- quit (Ping timeout: 244 seconds) 2018-11-16T01:15:56Z zachk quit (Quit: Leaving) 2018-11-16T01:18:57Z lritter quit (Remote host closed the connection) 2018-11-16T01:25:58Z dbmikus__ joined #scheme 2018-11-16T01:30:04Z jcowan: Not yet, but I have a position: fork/join and channels, which can be implemented on top of SRFI 18. 2018-11-16T01:30:12Z jcowan: We'll see what happens. 2018-11-16T01:30:20Z jcowan: Zipheir: ^^ 2018-11-16T01:30:36Z Zipheir: Ah, interesting. 2018-11-16T01:30:56Z dbmikus__ quit (Ping timeout: 276 seconds) 2018-11-16T01:33:06Z jcowan: I hate shared-memory architectures 2018-11-16T01:35:34Z Zipheir: No kidding. 2018-11-16T01:40:51Z jcowan: It's one reason why I pushed so many immutable data structures through R7RS-Red 2018-11-16T01:45:03Z EternalZenith joined #scheme 2018-11-16T02:01:33Z daviid quit (Ping timeout: 244 seconds) 2018-11-16T02:07:59Z jao quit (Ping timeout: 250 seconds) 2018-11-16T02:09:06Z niklasl quit (Ping timeout: 260 seconds) 2018-11-16T02:14:06Z niklasl joined #scheme 2018-11-16T02:39:21Z daviid joined #scheme 2018-11-16T03:02:38Z robotoad quit (Quit: robotoad) 2018-11-16T03:11:05Z robotoad joined #scheme 2018-11-16T03:15:15Z edgar-rft joined #scheme 2018-11-16T03:19:54Z jp is now known as because 2018-11-16T03:38:57Z khisanth_ quit (Ping timeout: 252 seconds) 2018-11-16T03:46:25Z jcob joined #scheme 2018-11-16T04:01:45Z khisanth_ joined #scheme 2018-11-16T04:23:22Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-16T04:24:48Z pjb quit (Ping timeout: 252 seconds) 2018-11-16T04:25:36Z daviid quit (Ping timeout: 252 seconds) 2018-11-16T04:28:27Z jcowan: I have been thinking about single-floats because I am implementing SRFI 4 portably, and I think that to be useful as a numerical language, Scheme will need either direct support for single-floats through the generic functions, or a single-float-specific library, or both. 2018-11-16T04:33:18Z jcowan: If you store 3.402823e38 (approximately max-single-float) into a bytevector or f32vector and pull it out again, the difference between the original and the result is 6.073709657548248e+30. That's a very large absolute error. 2018-11-16T04:33:38Z jcowan: Though admittedly the relative error is only 1.5077862131874914e-13. 2018-11-16T04:34:27Z jcowan: (more precisely: if you store the double-float 3.402823e38 as a single-float and read it back as a double-float, that's the error you get) 2018-11-16T04:35:54Z oni-on-ion joined #scheme 2018-11-16T04:46:36Z xkapastel joined #scheme 2018-11-16T04:50:11Z ggole joined #scheme 2018-11-16T04:51:31Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-16T04:51:57Z jcob quit (Remote host closed the connection) 2018-11-16T04:53:38Z elderK joined #scheme 2018-11-16T05:07:57Z grettke joined #scheme 2018-11-16T05:08:48Z Riastradh: jcowan: Umm? What? 2018-11-16T05:09:20Z jcowan: Eh? 2018-11-16T05:09:33Z Riastradh: jcowan: Every binary32 floating-point number is also a binary64 floating-point number. 2018-11-16T05:10:04Z jcowan: Well, let me try it in Chicken. 2018-11-16T05:12:44Z jcowan: Same results, so it is not the software implementation of bytes-to-numbers conversion 2018-11-16T05:13:02Z jcowan: It may however be a matter of binary-decimal conversion 2018-11-16T05:14:08Z jcowan: The double value I chose is 3.402823e+38, whereas the result from the f32vector (a double) is 3.4028230607371e+38. 2018-11-16T05:14:35Z Riastradh: What exactly are you testing? 2018-11-16T05:16:03Z jcowan: (f32vector-ref (f32vector 3.402823e+38) 0) 2018-11-16T05:16:48Z jcowan: a bunch of junk bits are coming out of nowhere 2018-11-16T05:17:16Z oni-on-ion: i was just reading about boxing, but cant find much info except srfi-111 2018-11-16T05:17:32Z Riastradh: OK. So, first, 3.402823e+38 is not a binary64 number; the nearest one is 340282299999999994960115009090224128000. 2018-11-16T05:19:09Z because is now known as jp 2018-11-16T05:19:33Z pierpal quit (Quit: Poof) 2018-11-16T05:19:52Z pierpal joined #scheme 2018-11-16T05:22:34Z Riastradh: Probably better to put it in hexadecimal notation with a power of two: 0x1.fffff966ad924p+127. 2018-11-16T05:23:27Z Riastradh: Similarly, it's not a binary32 number either (if it were, then it would also be a binary64 number). Its hexadecimal representation is 0x1.fffffap+127; as an integer, that's 340282306073709652508363335590014353408. 2018-11-16T05:25:03Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-16T05:27:56Z Riastradh: If you round 340282299999999994960115009090224128000 to a binary32 number, it turns out that you'll get the same thing as rounding 3.402823e+38 to a binary32 number (which is not always the case -- double-rounding can sometimes round to not-nearest). 2018-11-16T05:28:06Z Riastradh: Which is 0x1.fffffap+127 = 340282306073709652508363335590014353408. 2018-11-16T05:29:00Z Riastradh: So, what you're really seeing is just rounding 3.402823e+38 to a binary32 number (and then showing an additional 7 digits, presumably by default). 2018-11-16T05:31:09Z Riastradh: Note that the largest binary32 number is 0x1.fffffep+127. 2018-11-16T05:31:19Z alelos quit (Ping timeout: 244 seconds) 2018-11-16T05:31:40Z Riastradh: Which is 340282346638528859811704183484516925440. 2018-11-16T05:31:45Z oni-on-ion: ap != ep? 2018-11-16T05:32:00Z Riastradh: oni-on-ion: Right. 0xa < 0xe 2018-11-16T05:32:30Z oni-on-ion: oh. wait well what is p? 2018-11-16T05:32:47Z Riastradh: oni-on-ion: Read it as `times 2^'. 2018-11-16T05:32:57Z Riastradh: oni-on-ion: I.e., 1.fffffe * 2^127. 2018-11-16T05:33:07Z oni-on-ion: ahh =) 2018-11-16T05:33:10Z Riastradh: This is hexadecimal. 2018-11-16T05:33:24Z Riastradh: jcowan: Which, by the way, is a notation that I highly recommend you support! 2018-11-16T05:33:30Z Riastradh: Also printing it. 2018-11-16T05:33:33Z Riastradh: number->string oughta dtrt. 2018-11-16T05:38:12Z oni-on-ion: =) been interested in a base-32 2018-11-16T05:43:14Z Inline quit (Quit: Leaving) 2018-11-16T06:06:03Z skapata quit (Remote host closed the connection) 2018-11-16T06:19:32Z Riastradh: jcowan: Also, how did you compute the relative error? (That's mostly what elicited the `uh, what?' response; a relative error between two floating-point numbers of ~1e-13 due to rounding makes no sense either for binary32, where it should be ~1e-7, or for binary64, where it should be ~1e-16.) 2018-11-16T06:20:36Z Riastradh: (Hm. Well, no, I guess a relative error of 1e-13 could make sense in this context, never mind.) 2018-11-16T06:21:56Z Riastradh: Someone^TM should write a lex macro so I can write a Scheme number parser that's not a horrible spaghetti of nested recursive procedures. 2018-11-16T06:27:59Z DKordic quit (Ping timeout: 250 seconds) 2018-11-16T06:46:37Z grettke joined #scheme 2018-11-16T06:53:44Z razzy quit (Ping timeout: 272 seconds) 2018-11-16T06:53:54Z nly quit (Ping timeout: 264 seconds) 2018-11-16T07:09:42Z ManDay joined #scheme 2018-11-16T07:11:55Z ManDay: so on one hand, scheme's "too minimal" to get a base != operator, but then, there is things like `zero?` and `finite?` ... 2018-11-16T07:13:01Z Riastradh: We'd have to fight it out between the camp that wants to spell it != and the camp that wants to spell it /=. 2018-11-16T07:14:53Z ventonegro: Probably 95% of Scheme compilers transform (if (not test) exp1 exp2) into (if test exp2 exp1) 2018-11-16T07:15:55Z ManDay: Riastradh: Fuck that other camp! 2018-11-16T07:16:04Z Riastradh: I know, right? That other camp is always wrong! 2018-11-16T07:16:09Z Riastradh: (Which camp are we in? I forget.) 2018-11-16T07:16:16Z Zipheir: The right one. 2018-11-16T07:16:24Z Riastradh: Ahhhh, right! Of course we are. 2018-11-16T07:16:27Z ManDay: Exactly. And it's THEM who are wrong. 2018-11-16T07:16:37Z ManDay: No one in their right mind would spell it like that 2018-11-16T07:17:25Z ventonegro: Also, don't forget the ~= camp 2018-11-16T07:17:45Z ManDay: The approximately equal camp? 2018-11-16T07:17:47Z Zipheir: ! has a well-established meaning in Scheme. No one would accept != in a million years. 2018-11-16T07:18:01Z ManDay: Well, it sure shouldn't be =! 2018-11-16T07:18:24Z ManDay: I think <> is also an option 2018-11-16T07:18:25Z Zipheir: =!, i.e. if they aren't equal, make them equal! 2018-11-16T07:18:33Z ventonegro: ManDay: http://www.lua.org/manual/5.3/manual.html#3.4.4 2018-11-16T07:18:33Z ManDay: Zipheir: Heh 2018-11-16T07:19:27Z ventonegro: And the =/= camp believe themselves to be the winners 2018-11-16T07:20:06Z ManDay: They are already inferior by the number of characters alone 2018-11-16T07:20:38Z ventonegro: As opposed to `call-with-current-continuation`? ;) 2018-11-16T07:22:06Z ManDay: That's just so long to make people refrain from overusing it (those who know call/cc wouldn't do that in the first place, ofc) 2018-11-16T07:22:27Z ManDay: W.r.t. to inequality, I'd refer them to https://en.wikipedia.org/wiki/Equals_sign#Not_equal - Wikipedia says =/= is not an option. End of debate. 2018-11-16T07:22:55Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-16T07:22:56Z Riastradh: We could use ≠ too. 2018-11-16T07:23:11Z Zipheir: ManDay: You're really asking for a number of procedures--not-eq?, not-eqv?, etc., because it would be really weird to have = be the only equality proc with a standard negative. 2018-11-16T07:23:41Z ManDay: Zipheir: You do have a point there... 2018-11-16T07:23:41Z ventonegro: ManDay: Tell that to the =/= camp 2018-11-16T07:24:35Z razzy joined #scheme 2018-11-16T07:26:00Z ventonegro: Riastradh: Well, if Agda can use Unicode, why not :) 2018-11-16T07:26:08Z robotoad quit (Quit: robotoad) 2018-11-16T07:27:06Z ManDay: Racket uses Unicode... 2018-11-16T07:29:38Z Zipheir: Seuss' The Butter Battle Book should be required reading for hackers... 2018-11-16T07:41:52Z ByronJohnson quit (Ping timeout: 272 seconds) 2018-11-16T08:18:03Z ManDay: Might also make a useful read for the less technically inclined... 2018-11-16T08:19:52Z keep_learning_M joined #scheme 2018-11-16T08:22:07Z flerovite quit (Ping timeout: 246 seconds) 2018-11-16T08:22:25Z flerovite joined #scheme 2018-11-16T08:23:52Z civodul joined #scheme 2018-11-16T08:24:25Z bairyn joined #scheme 2018-11-16T08:48:43Z gravicappa joined #scheme 2018-11-16T08:50:53Z EternalZenith quit (Ping timeout: 245 seconds) 2018-11-16T08:53:22Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-16T09:19:47Z Riastradh: There we go, MIT Scheme now has #x1.1f2e42p-172 notation. 2018-11-16T09:23:29Z Riastradh: (number->string 3.4028234663852886e38 #x10) 2018-11-16T09:23:30Z Riastradh: ;Value: "#x1.fffffep+127" 2018-11-16T09:23:39Z Riastradh: (number->string 3.402823e38 #x10) 2018-11-16T09:23:40Z Riastradh: ;Value: "#x1.fffff966ad924p+127" 2018-11-16T09:23:53Z Riastradh: jcowan: ^ 2018-11-16T09:27:03Z Riastradh: Specifically, in binary64, 3.4028234663852886e38 is rounded to a number that is also a binary32 number, but 3.402823e38 is rounded to a number that is not a binary32 number. 2018-11-16T09:27:28Z Riastradh: The effect of (f32vector-ref (f32vector x) 0) is to round x (which is presumably a binary64 number) to a binary32 number. 2018-11-16T09:29:28Z dtornabene joined #scheme 2018-11-16T09:33:22Z jao joined #scheme 2018-11-16T09:35:17Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-16T09:38:23Z longshi joined #scheme 2018-11-16T09:45:09Z ManDay: Riastradh: What is this? 2018-11-16T09:48:33Z jao quit (Ping timeout: 252 seconds) 2018-11-16T09:52:10Z [X-Scale] joined #scheme 2018-11-16T09:53:17Z X-Scale quit (Ping timeout: 268 seconds) 2018-11-16T09:53:17Z snits quit (Ping timeout: 268 seconds) 2018-11-16T09:53:37Z [X-Scale] is now known as X-Scale 2018-11-16T09:53:38Z snits joined #scheme 2018-11-16T09:53:54Z brendyyn quit (Ping timeout: 268 seconds) 2018-11-16T09:54:32Z brendyyn joined #scheme 2018-11-16T09:56:08Z that1guy joined #scheme 2018-11-16T10:01:02Z Zenton joined #scheme 2018-11-16T10:02:08Z ogamita joined #scheme 2018-11-16T10:03:21Z ManDay quit (Ping timeout: 256 seconds) 2018-11-16T10:08:01Z ogamita quit (Ping timeout: 260 seconds) 2018-11-16T10:09:01Z ogamita joined #scheme 2018-11-16T10:40:28Z razzy quit (Ping timeout: 272 seconds) 2018-11-16T11:00:51Z InverseRhombus joined #scheme 2018-11-16T11:01:18Z InverseRhombus quit (Max SendQ exceeded) 2018-11-16T11:01:40Z InverseRhombus joined #scheme 2018-11-16T11:08:27Z dkmueller joined #scheme 2018-11-16T11:34:17Z InverseRhombus quit (Remote host closed the connection) 2018-11-16T11:46:01Z longshi quit (Ping timeout: 260 seconds) 2018-11-16T12:02:02Z angelds joined #scheme 2018-11-16T12:03:23Z ogamita quit (Ping timeout: 276 seconds) 2018-11-16T12:04:28Z ogamita joined #scheme 2018-11-16T12:27:33Z ogamita quit (Ping timeout: 245 seconds) 2018-11-16T12:29:55Z ogamita joined #scheme 2018-11-16T12:47:08Z angelds quit (Ping timeout: 245 seconds) 2018-11-16T12:51:26Z vyzo quit (Ping timeout: 250 seconds) 2018-11-16T12:51:59Z vyzo joined #scheme 2018-11-16T12:52:08Z acarrico quit (Ping timeout: 245 seconds) 2018-11-16T13:19:00Z keep_learning_M quit (Quit: Leaving) 2018-11-16T13:21:27Z skapata joined #scheme 2018-11-16T13:23:48Z klovett_ joined #scheme 2018-11-16T13:25:17Z klovett quit (Ping timeout: 250 seconds) 2018-11-16T13:31:23Z quipa joined #scheme 2018-11-16T13:35:14Z klovett joined #scheme 2018-11-16T13:38:18Z klovett_ quit (Ping timeout: 264 seconds) 2018-11-16T13:40:09Z ogamita quit (Read error: No route to host) 2018-11-16T13:44:08Z ogamita joined #scheme 2018-11-16T13:45:06Z ogamita quit (Remote host closed the connection) 2018-11-16T13:45:49Z jao joined #scheme 2018-11-16T13:47:30Z klovett_ joined #scheme 2018-11-16T13:50:42Z klovett quit (Ping timeout: 268 seconds) 2018-11-16T13:52:04Z silas joined #scheme 2018-11-16T13:55:39Z badkins quit (Remote host closed the connection) 2018-11-16T14:05:09Z ggole quit (Ping timeout: 250 seconds) 2018-11-16T14:05:37Z ggole joined #scheme 2018-11-16T14:11:50Z pjb joined #scheme 2018-11-16T14:11:54Z pjb quit (Remote host closed the connection) 2018-11-16T14:17:38Z pjb joined #scheme 2018-11-16T14:17:42Z pjb quit (Remote host closed the connection) 2018-11-16T14:18:16Z ogamita joined #scheme 2018-11-16T14:19:36Z badkins joined #scheme 2018-11-16T14:20:08Z badkins_ joined #scheme 2018-11-16T14:22:19Z badkins__ joined #scheme 2018-11-16T14:24:08Z pierpal quit (Quit: Poof) 2018-11-16T14:24:09Z pierpal joined #scheme 2018-11-16T14:24:10Z niklasl2 joined #scheme 2018-11-16T14:24:10Z badkins quit (Ping timeout: 268 seconds) 2018-11-16T14:25:18Z niklasl quit (Ping timeout: 272 seconds) 2018-11-16T14:25:27Z badkins_ quit (Ping timeout: 240 seconds) 2018-11-16T14:25:31Z Inline joined #scheme 2018-11-16T14:35:28Z ggole quit (Ping timeout: 264 seconds) 2018-11-16T14:36:02Z lritter joined #scheme 2018-11-16T14:39:48Z ggole joined #scheme 2018-11-16T14:41:42Z dbmikus__ joined #scheme 2018-11-16T15:08:09Z lockywolf joined #scheme 2018-11-16T15:10:13Z Kkiro quit (Quit: ZNC 1.6.1 - http://znc.in) 2018-11-16T15:13:02Z Kkiro joined #scheme 2018-11-16T15:13:02Z Kkiro quit (Changing host) 2018-11-16T15:13:02Z Kkiro joined #scheme 2018-11-16T15:14:53Z dtornabene quit (Read error: Connection reset by peer) 2018-11-16T15:16:20Z lockywolf_ joined #scheme 2018-11-16T15:19:08Z lockywolf quit (Ping timeout: 272 seconds) 2018-11-16T15:21:21Z lockywolf__ joined #scheme 2018-11-16T15:22:05Z bairyn is now known as ByronJohnson 2018-11-16T15:23:31Z lockywolf_ quit (Ping timeout: 246 seconds) 2018-11-16T15:24:51Z lockywolf_ joined #scheme 2018-11-16T15:27:43Z lockywolf__ quit (Ping timeout: 246 seconds) 2018-11-16T15:38:44Z lllll joined #scheme 2018-11-16T15:43:30Z xkapastel joined #scheme 2018-11-16T15:44:37Z acarrico joined #scheme 2018-11-16T15:52:30Z badkins__ is now known as badkins 2018-11-16T15:55:19Z dkmueller quit (Quit: Lost terminal) 2018-11-16T16:01:25Z grettke joined #scheme 2018-11-16T16:09:20Z InverseRhombus joined #scheme 2018-11-16T16:10:02Z smazga joined #scheme 2018-11-16T16:13:53Z lockywolf_ quit (Remote host closed the connection) 2018-11-16T16:14:18Z lockywolf_ joined #scheme 2018-11-16T16:24:52Z robotoad joined #scheme 2018-11-16T16:28:53Z longshi joined #scheme 2018-11-16T16:36:06Z rain1: hey 2018-11-16T16:36:14Z rain1: i have been working on my guile port of the peg library 2018-11-16T16:36:33Z rain1: https://github.com/rain-1/racket-peg/blob/guile/guile-heredoc.scm ive made a heredoc reader for guile 2018-11-16T16:36:48Z rain1: https://github.com/rain-1/racket-peg/issues/30#issuecomment-439434718 and these are some of the tests workng and not working 2018-11-16T16:37:00Z rain1: don't understand why yet but it's good progress 2018-11-16T16:43:13Z elderK quit (Quit: Connection closed for inactivity) 2018-11-16T16:46:12Z InverseRhombus quit (Remote host closed the connection) 2018-11-16T16:48:38Z Riastradh: jcowan: Remind me -- does R7RS have hexadecimal point notation with exponent base 2? #x1.234p-42 2018-11-16T16:48:41Z Riastradh: jcowan: If not, it should. 2018-11-16T16:49:30Z badkins quit (Ping timeout: 252 seconds) 2018-11-16T16:53:18Z longshi quit (Ping timeout: 264 seconds) 2018-11-16T16:59:50Z TheGreekOwl quit (Ping timeout: 272 seconds) 2018-11-16T17:01:43Z badkins joined #scheme 2018-11-16T17:02:13Z Zenton quit (Ping timeout: 246 seconds) 2018-11-16T17:03:52Z nly joined #scheme 2018-11-16T17:04:18Z Riastradh: (parameterize ((param:printer-radix #x10)) 2018-11-16T17:04:18Z Riastradh: (write-to-string (list 1.5e10 0.1))) 2018-11-16T17:04:18Z Riastradh: ;Value: "(#x1.bf08ebp+33 #x1.999999999999ap-4)" 2018-11-16T17:05:03Z Riastradh: Much better! 2018-11-16T17:12:40Z quipa quit (Remote host closed the connection) 2018-11-16T17:24:40Z ggole quit (Ping timeout: 264 seconds) 2018-11-16T17:29:17Z ggole joined #scheme 2018-11-16T17:29:33Z dkmueller joined #scheme 2018-11-16T17:43:04Z pierpal quit (Quit: Poof) 2018-11-16T17:43:21Z pierpal joined #scheme 2018-11-16T17:44:14Z robotoad quit (Remote host closed the connection) 2018-11-16T17:45:04Z robotoad joined #scheme 2018-11-16T17:50:40Z klovett_ quit 2018-11-16T17:52:56Z gravicappa quit (Ping timeout: 260 seconds) 2018-11-16T18:01:37Z jcowan: Riastradh: No. I agree with you and Henry Baker that this is a Good Thing, but I don't know of any Scheme that has it. Unfortunately I no longer have my comprehensive Scheme suite (should have set it up on Amazon or something) 2018-11-16T18:02:05Z jcowan: Thanks for the comprehensive explanation 2018-11-16T18:02:15Z Riastradh: jcowan: MIT Scheme has it! 2018-11-16T18:02:38Z jcowan: Excellent! 2018-11-16T18:03:53Z jcowan: btw, the real problem with inequality is not the notation, it's the semantics with >2 arguments. CL's definition requires that all arguments be distinct, which is n log n unless you use a hash table. 2018-11-16T18:04:03Z Riastradh: Heh. 2018-11-16T18:09:00Z jcowan: I suppose an O(n) algorithm would be to ask if at least one is distinct from the rest, the straight negation of =. The eq* predicates don't have this problem. 2018-11-16T18:09:11Z Riastradh: You could restrict it to be binary. 2018-11-16T18:09:19Z jcowan: Also a possibility 2018-11-16T18:28:09Z Riastradh: jcowan: I wouldn't be surprised if no other Scheme implements hexadecimal floating-point notation. But! It is well-established throughout the rest of the world (e.g., it works in C; use printf("%a") to print it), and it is extremely helpful for seeing fine distinctions in floating-point values that decimal approximation obscures. 2018-11-16T18:28:15Z Riastradh: So I highly recommend pushing everyone to adopt it. 2018-11-16T18:29:29Z oni-on-ion: i was starting to use it back in mid-late 90s in C/objc , will continue 2018-11-16T18:29:49Z oni-on-ion aims for all-hex 2018-11-16T18:33:34Z nly quit (Ping timeout: 272 seconds) 2018-11-16T18:35:07Z klovett joined #scheme 2018-11-16T18:44:24Z niklasl2 quit (Quit: Nettalk6 - www.ntalk.de) 2018-11-16T18:44:42Z niklasl joined #scheme 2018-11-16T18:49:39Z nly joined #scheme 2018-11-16T18:52:30Z jcowan: SRFI 159, which I hope will become part of R7RS-Tangerine, supports hex output of floats but not (AFAICT) in exponential notation. 2018-11-16T18:53:09Z jcowan: Indeed, I don't see how to make it output exponential notation at all. 2018-11-16T18:53:13Z Riastradh: foof: Fix it! 2018-11-16T18:53:43Z oni-on-ion avoids exponential notation 2018-11-16T18:53:57Z Riastradh: Also there's a typo: `mantissa' appears once where it should say `significand'. 2018-11-16T18:56:39Z Riastradh: jcowan: Anyway, it should be supported in the lexical syntax and by string->number and number->string, not just as a fancy formatting library doohickey. 2018-11-16T18:57:28Z jcowan: Not gonna argue, except that the road to things like that is long and hard, especially the lexical syntax (you can replace string->number and number->string if you want). I will add it to the LexicalDocket, which will be voted on last. 2018-11-16T19:01:09Z alezost joined #scheme 2018-11-16T19:08:21Z dbmikus__ quit (Ping timeout: 252 seconds) 2018-11-16T19:15:04Z rain1: hi 2018-11-16T19:15:32Z rain1: what do you all think about "checked exceptions"? basically the type of every function contains a set of exceptions that it is able to throw 2018-11-16T19:16:55Z Riastradh: In principle a pretty reasonable concept, as long as I don't have to go near the rest of Java or the JVM. 2018-11-16T19:17:08Z Zenton joined #scheme 2018-11-16T19:19:28Z jcowan: No other language I know of except Java has gone with them; they turn out to be more trouble than they are worth. They are enforced only by the Java compiler, not by the JVM itself. 2018-11-16T19:19:51Z Riastradh: Haskell 2018-11-16T19:19:59Z jcowan: In frustration, I actually declared my main function (used only for debugging) "throws IOException" in one program. 2018-11-16T19:23:03Z rain1: the haskell either type? 2018-11-16T19:23:10Z Riastradh: (I posit the reason everyone hates them in Java is because the context is Java, not because they're wrong in general.) 2018-11-16T19:24:27Z Riastradh: rain1: Sure, that's a simple example of the idea in Haskell. 2018-11-16T19:25:30Z rain1: I'm thinking about a version of ocaml with exception sets adde 2018-11-16T19:25:38Z Riastradh: Sounds reasonable. 2018-11-16T19:26:18Z jcowan: Either's use as an exception type is only conventional 2018-11-16T19:26:28Z jcowan: Maybe and Either coming soon to a Scheme near you! 2018-11-16T19:26:31Z Riastradh: The use of exceptions to signal exceptions is only conventional. 2018-11-16T19:26:41Z Riastradh: You could return error codes just as well instead. 2018-11-16T19:26:42Z qu1j0t3: jcowan: and ofc scala very deliberately eschews them. :) 2018-11-16T19:26:49Z jcowan: Well, Scala has Try. 2018-11-16T19:26:58Z qu1j0t3: eschews checked exceptions. 2018-11-16T19:27:03Z jcowan: which turns JVM-level exceptions into Either-style states. 2018-11-16T19:27:08Z jcowan: Ah. Yes, so does C# 2018-11-16T19:27:09Z qu1j0t3 writes pure Scala 2018-11-16T19:27:10Z Riastradh: Heh. Nixes the one worthwhile part of Java's type system. 2018-11-16T19:28:03Z qu1j0t3: generics? :) 2018-11-16T19:28:23Z Riastradh: Everyone has generics, and had them for decades before Java did, nothing special about that! 2018-11-16T19:28:26Z qu1j0t3: i know. 2018-11-16T19:28:41Z qu1j0t3: however, a worthwhile part. i don't use exceptions on the jvm anyhow. plenty of good types to use instead, as jcowan mentioned. 2018-11-16T19:29:10Z jcowan: worthwhile is not a synonym for unique 2018-11-16T19:29:13Z qu1j0t3: *not everyone has generics. 2018-11-16T19:29:28Z rain1: the problem with either is it only have 1 exception prompt 2018-11-16T19:29:33Z Riastradh: jcowan: C'mon, your pedantry is getting in the way of my ragging on Java! 2018-11-16T19:29:51Z qu1j0t3: rain1: encode as many as you want. 2018-11-16T19:30:01Z qu1j0t3: rain1: Eitehr isn't the only type that can carry error information. 2018-11-16T19:36:14Z skapata quit (Read error: Connection reset by peer) 2018-11-16T19:37:56Z skapata joined #scheme 2018-11-16T19:40:37Z terpri joined #scheme 2018-11-16T19:43:34Z dbmikus__ joined #scheme 2018-11-16T19:50:41Z hugh_marera joined #scheme 2018-11-16T19:50:41Z hugh_marera quit (Read error: Connection reset by peer) 2018-11-16T19:50:56Z hugh_marera joined #scheme 2018-11-16T19:58:00Z rain1: http://www.rntz.net/post/2016-06-06-not-everything-is-an-expression.html 2018-11-16T19:58:03Z rain1: i think this is a good point 2018-11-16T20:10:36Z Zenton quit (Read error: Connection reset by peer) 2018-11-16T20:10:54Z Zenton joined #scheme 2018-11-16T20:15:05Z ggole quit (Quit: ggole) 2018-11-16T20:22:48Z razzy joined #scheme 2018-11-16T20:26:19Z pjb joined #scheme 2018-11-16T20:27:18Z acarrico quit (Ping timeout: 252 seconds) 2018-11-16T20:28:04Z dkmueller quit (Ping timeout: 252 seconds) 2018-11-16T20:28:53Z dkmueller joined #scheme 2018-11-16T20:37:40Z mejja joined #scheme 2018-11-16T20:40:45Z mejja: Riastradh, ;The object +inf.0, passed as the first argument to flonum-normalize, is not the correct type 2018-11-16T20:41:09Z Riastradh: mejja: Rebuild your compiler! 2018-11-16T20:41:19Z Riastradh: mejja: It has an incorrect integer? that thinks inf is an integer. 2018-11-16T20:41:46Z Riastradh: Hm. Should probably keep the kludge in until the next release, though. 2018-11-16T20:42:06Z Riastradh: I guess it might be hard to rebuild your compiler without the kludge. 2018-11-16T20:44:23Z mejja: fantastic... 2018-11-16T20:44:46Z Riastradh: Revert 7828111b77fb53e34b365abc775148f49eabe1d2 (again) and it should build. 2018-11-16T20:46:14Z daviid joined #scheme 2018-11-16T20:57:04Z zachk joined #scheme 2018-11-16T20:57:39Z zachk quit (Changing host) 2018-11-16T20:57:39Z zachk joined #scheme 2018-11-16T21:05:26Z Zipheir: rain1: What is the good point? That post seems rather confused. 2018-11-16T21:07:57Z Riastradh: I think the point is `everything is an expression' really means `we don't arbitrarily distinguish ``statements'' from ``expressions'' '? 2018-11-16T21:09:21Z Zipheir: Huh. Half the post seems to be about the strengths of modular macro building. 2018-11-16T21:11:07Z rain1: i also took from it the idea of syntax classes as a concept we can use or even make first class 2018-11-16T21:11:56Z Zipheir: Yes, that's an interesting idea. 2018-11-16T21:13:41Z Zipheir: Although the author doesn't clearly define any of the classes mentioned, or show an example of how matching on syntax class could be used. 2018-11-16T21:13:57Z longshi joined #scheme 2018-11-16T21:16:57Z klovett_ joined #scheme 2018-11-16T21:17:57Z klovett_ quit (Client Quit) 2018-11-16T21:18:52Z klovett quit (Ping timeout: 272 seconds) 2018-11-16T21:21:12Z longshi quit (Ping timeout: 252 seconds) 2018-11-16T21:27:39Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-16T21:42:15Z acarrico joined #scheme 2018-11-16T22:06:47Z badkins quit (Ping timeout: 240 seconds) 2018-11-16T22:10:48Z acarrico quit (Ping timeout: 272 seconds) 2018-11-16T22:18:31Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-16T22:37:10Z dbmikus__ quit (Ping timeout: 246 seconds) 2018-11-16T22:48:16Z siiky joined #scheme 2018-11-16T22:50:45Z InverseRhombus joined #scheme 2018-11-16T22:51:36Z that1guy quit (Ping timeout: 260 seconds) 2018-11-16T22:54:13Z hugh_marera quit (Quit: hugh_marera) 2018-11-16T22:57:06Z siiky quit (Quit: Leaving) 2018-11-16T23:04:29Z klovett joined #scheme 2018-11-16T23:17:00Z smazga quit (Quit: leaving) 2018-11-16T23:21:18Z badkins joined #scheme 2018-11-16T23:21:55Z robotoad quit (Ping timeout: 252 seconds) 2018-11-16T23:25:39Z robotoad joined #scheme 2018-11-16T23:26:48Z daviid quit (Ping timeout: 272 seconds) 2018-11-16T23:33:11Z nly quit (Quit: Quit) 2018-11-16T23:33:17Z jcowan: In any case, definitions are not expressions in Scheme (they are in other Lisps) 2018-11-16T23:33:34Z jcowan: also, an expression that returns zero values is a pretty marginal case of an expression. 2018-11-16T23:39:53Z quipa joined #scheme 2018-11-17T00:03:38Z quipa_ joined #scheme 2018-11-17T00:04:26Z dkmueller quit (Quit: Lost terminal) 2018-11-17T00:06:00Z jao quit (Ping timeout: 252 seconds) 2018-11-17T00:06:42Z quipa quit (Ping timeout: 272 seconds) 2018-11-17T00:11:10Z daviid joined #scheme 2018-11-17T00:14:51Z robotoad quit (Quit: robotoad) 2018-11-17T00:16:41Z siiky joined #scheme 2018-11-17T00:17:09Z siiky quit (Client Quit) 2018-11-17T00:33:04Z wilfredh quit (Quit: Connection closed for inactivity) 2018-11-17T00:57:19Z mlhomework joined #scheme 2018-11-17T01:08:50Z zachk quit (Read error: Connection reset by peer) 2018-11-17T01:09:29Z zachk joined #scheme 2018-11-17T01:19:26Z zachk quit (Quit: Leaving) 2018-11-17T01:19:27Z daviid quit (Read error: Connection reset by peer) 2018-11-17T01:33:50Z robotoad joined #scheme 2018-11-17T01:46:16Z lritter quit (Ping timeout: 264 seconds) 2018-11-17T01:47:01Z lritter joined #scheme 2018-11-17T01:53:43Z Zenton quit (Read error: Connection reset by peer) 2018-11-17T01:54:47Z mejja: Riastradh, (write (atan +i)) => ++inf.0i :-) 2018-11-17T01:56:31Z Zenton joined #scheme 2018-11-17T01:58:34Z Riastradh: Heh. 2018-11-17T01:58:57Z Riastradh: Is not my fault my predecessors wrote exactly zero automatic tests for this stuff! 2018-11-17T02:01:54Z Zenton quit (Read error: Connection reset by peer) 2018-11-17T02:02:03Z wigust quit (Ping timeout: 252 seconds) 2018-11-17T02:03:30Z wigust joined #scheme 2018-11-17T02:03:51Z Zenton joined #scheme 2018-11-17T02:04:14Z Riastradh: Ugh. numpar.scm should not be all open-coded; it should be a nice little regular-expression-driven automaton in lex. 2018-11-17T02:04:35Z Riastradh: Integrating inf into this is gonna be a huge pain. 2018-11-17T02:08:07Z Zenton quit (Ping timeout: 240 seconds) 2018-11-17T02:08:51Z Zenton joined #scheme 2018-11-17T02:21:04Z alyptik quit (Disconnected by services) 2018-11-17T02:21:19Z alyptik joined #scheme 2018-11-17T02:28:23Z daviid joined #scheme 2018-11-17T02:29:28Z lritter quit (Ping timeout: 252 seconds) 2018-11-17T02:43:46Z mejja quit (Remote host closed the connection) 2018-11-17T02:45:13Z maximjaffe joined #scheme 2018-11-17T02:48:19Z quipa_ quit (Ping timeout: 268 seconds) 2018-11-17T03:21:47Z maximjaffe quit (Ping timeout: 240 seconds) 2018-11-17T03:29:00Z gwatt quit (Ping timeout: 276 seconds) 2018-11-17T03:35:32Z robotoad quit (Quit: robotoad) 2018-11-17T03:43:20Z robotoad joined #scheme 2018-11-17T03:51:42Z TheGreekOwl joined #scheme 2018-11-17T03:52:52Z lockywolf_ quit (Ping timeout: 264 seconds) 2018-11-17T04:19:17Z mlhomework quit (Ping timeout: 256 seconds) 2018-11-17T04:32:36Z gwatt joined #scheme 2018-11-17T04:32:38Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-17T04:56:53Z pierpal quit (Quit: Poof) 2018-11-17T04:57:10Z pierpal joined #scheme 2018-11-17T04:58:40Z daviid quit (Ping timeout: 246 seconds) 2018-11-17T04:59:23Z klovett quit (Remote host closed the connection) 2018-11-17T05:01:21Z klovett joined #scheme 2018-11-17T05:05:28Z klovett quit (Ping timeout: 245 seconds) 2018-11-17T05:20:57Z klovett joined #scheme 2018-11-17T05:36:29Z lockywolf joined #scheme 2018-11-17T06:01:09Z elderK joined #scheme 2018-11-17T06:12:45Z lockywolf quit (Remote host closed the connection) 2018-11-17T06:15:22Z reverse_light joined #scheme 2018-11-17T06:17:56Z grettke joined #scheme 2018-11-17T06:45:14Z lockywolf joined #scheme 2018-11-17T07:01:52Z lockywolf quit (Ping timeout: 246 seconds) 2018-11-17T07:10:30Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-17T07:11:40Z klovett quit (Ping timeout: 272 seconds) 2018-11-17T07:16:01Z klovett joined #scheme 2018-11-17T07:20:17Z klovett quit (Ping timeout: 244 seconds) 2018-11-17T07:23:22Z grettke joined #scheme 2018-11-17T07:25:31Z klovett joined #scheme 2018-11-17T07:47:36Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-17T08:02:40Z hugh_marera joined #scheme 2018-11-17T08:07:33Z klovett quit (Ping timeout: 245 seconds) 2018-11-17T08:08:09Z klovett joined #scheme 2018-11-17T08:26:11Z klovett quit (Ping timeout: 260 seconds) 2018-11-17T08:26:48Z klovett joined #scheme 2018-11-17T08:31:07Z klovett quit (Ping timeout: 246 seconds) 2018-11-17T08:31:52Z klovett joined #scheme 2018-11-17T08:40:42Z klovett quit (Ping timeout: 264 seconds) 2018-11-17T08:42:26Z pierpal quit (Ping timeout: 244 seconds) 2018-11-17T08:46:03Z razzy quit (Ping timeout: 244 seconds) 2018-11-17T08:47:55Z lockywolf joined #scheme 2018-11-17T08:58:24Z realfascism joined #scheme 2018-11-17T08:58:41Z realfascism: anyone using scheme in production? is it very productive compared to java n firends? 2018-11-17T08:58:57Z realfascism: does it play well with load balanced larger setups? 2018-11-17T09:03:22Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-17T09:08:03Z hugh_marera quit (Remote host closed the connection) 2018-11-17T09:10:56Z pierpal joined #scheme 2018-11-17T09:18:38Z klovett joined #scheme 2018-11-17T09:22:58Z klovett quit (Ping timeout: 250 seconds) 2018-11-17T09:23:34Z klovett joined #scheme 2018-11-17T09:32:51Z klovett quit (Ping timeout: 268 seconds) 2018-11-17T09:51:47Z groovy2shoes joined #scheme 2018-11-17T09:56:44Z jao joined #scheme 2018-11-17T10:05:05Z skapata quit (Remote host closed the connection) 2018-11-17T10:07:31Z robotoad quit (Quit: robotoad) 2018-11-17T10:23:16Z robotoad joined #scheme 2018-11-17T10:23:50Z pierpal quit (Quit: Poof) 2018-11-17T10:24:09Z pierpal joined #scheme 2018-11-17T10:35:03Z pjb: realfascism: you may want to have a look at http://cliki.net/performance (it's not specific to scheme but lisp and other languages). 2018-11-17T10:38:19Z pjb: realfascism: compare (define (fizzbuzz) (let loop ((n 1)) (cond ((< 100 n)) ((= 0 (mod n 3)) (display (if (= 0 (mod n 5)) "fizzbuzz" "fizz"))) ((= 0 (mod n 5)) (display "buzz")) (else (display n))) (newline) (loop (+ 1 n)))) with https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition and tell me which one is more productive. 2018-11-17T10:39:43Z erkin: I like how there're 254 open issues. 2018-11-17T10:40:17Z pjb: I mean: (define (fizzbuzz) (let loop ((n 1)) (if (<= n 100) (begin (cond ((= 0 (modulo n 3)) (display (if (= 0 (modulo n 5)) "fizzbuzz" "fizz"))) ((= 0 (modulo n 5)) (display "buzz")) (else (display n))) (newline) (loop (+ 1 n)))))) 2018-11-17T10:41:00Z pjb: And they're great issues too! 2018-11-17T10:42:02Z pjb: It seems like directly from https://www.cia.gov/news-information/featured-story-archive/2012-featured-story-archive/simple-sabotage.html 2018-11-17T10:58:23Z pierpal quit (Read error: Connection reset by peer) 2018-11-17T11:19:07Z pjb quit (Ping timeout: 252 seconds) 2018-11-17T11:19:36Z pjb joined #scheme 2018-11-17T11:23:57Z ggole joined #scheme 2018-11-17T11:36:04Z ski quit (Ping timeout: 264 seconds) 2018-11-17T11:38:46Z klovett joined #scheme 2018-11-17T11:42:58Z klovett quit (Ping timeout: 245 seconds) 2018-11-17T11:43:45Z klovett joined #scheme 2018-11-17T11:57:18Z klovett quit (Ping timeout: 272 seconds) 2018-11-17T12:02:56Z robotoad quit (Quit: robotoad) 2018-11-17T12:39:37Z klovett joined #scheme 2018-11-17T12:42:46Z brendyyn quit (Ping timeout: 246 seconds) 2018-11-17T12:44:02Z klovett quit (Ping timeout: 250 seconds) 2018-11-17T12:44:45Z klovett joined #scheme 2018-11-17T12:48:17Z spqz joined #scheme 2018-11-17T12:48:53Z klovett quit (Ping timeout: 244 seconds) 2018-11-17T12:49:39Z klovett joined #scheme 2018-11-17T12:50:32Z lritter joined #scheme 2018-11-17T12:54:08Z klovett_ joined #scheme 2018-11-17T12:54:30Z klovett quit (Ping timeout: 268 seconds) 2018-11-17T12:57:07Z pchrist quit (Quit: leaving) 2018-11-17T12:57:50Z pchrist joined #scheme 2018-11-17T12:58:05Z pierpal joined #scheme 2018-11-17T13:05:27Z razzy joined #scheme 2018-11-17T13:10:30Z InverseRhombus quit (Remote host closed the connection) 2018-11-17T13:12:40Z klovett_ quit (Ping timeout: 264 seconds) 2018-11-17T13:17:55Z klovett joined #scheme 2018-11-17T13:21:42Z brendyn joined #scheme 2018-11-17T13:22:25Z brendyn quit (Client Quit) 2018-11-17T13:22:50Z brendyyn joined #scheme 2018-11-17T13:26:10Z klovett quit (Ping timeout: 246 seconds) 2018-11-17T13:26:12Z lllll: realfascism: lack of libraries is the biggest problem, but i guess you are trolling anyway 2018-11-17T13:31:30Z razzy quit (Ping timeout: 268 seconds) 2018-11-17T13:31:54Z klovett joined #scheme 2018-11-17T13:36:26Z klovett quit (Ping timeout: 268 seconds) 2018-11-17T13:37:23Z civodul joined #scheme 2018-11-17T13:59:46Z klovett joined #scheme 2018-11-17T14:03:39Z klovett quit (Remote host closed the connection) 2018-11-17T14:03:56Z klovett joined #scheme 2018-11-17T14:10:48Z skapata joined #scheme 2018-11-17T14:12:01Z qu1j0t3 pulls the gavino cord 2018-11-17T14:13:41Z wasamasa draws the gavino card 2018-11-17T14:19:50Z klovett quit (Remote host closed the connection) 2018-11-17T14:22:38Z klovett joined #scheme 2018-11-17T14:24:43Z xkapastel joined #scheme 2018-11-17T14:47:12Z lockywolf quit (Ping timeout: 244 seconds) 2018-11-17T15:08:51Z InverseRhombus joined #scheme 2018-11-17T15:18:04Z amz3: what about building a database using chez scheme? 2018-11-17T15:18:08Z amz3: :troll face: 2018-11-17T15:21:27Z jao quit (Read error: Connection reset by peer) 2018-11-17T15:23:14Z jao joined #scheme 2018-11-17T15:33:53Z longshi joined #scheme 2018-11-17T15:34:15Z jao quit (Read error: Connection reset by peer) 2018-11-17T15:36:54Z pjb: amz3: postgresql was implemented in lisp originally. 2018-11-17T15:37:11Z pjb: amz3: so you could as well ue postgresql for your database. 2018-11-17T15:38:04Z pjb: amz3: unless you agree with me that RDBMS are not necessarily a good idea for the current needs in databases, and you want to write, eg. an OODBMS. But then is not specially OO; you may want to use Common Lisp and CLOS (and there are already a few OODBMS for CL). 2018-11-17T15:38:54Z pjb: amz3: On the other hand, you could write a scheme stored procedure programming language plugin for postgresql, and implement your stored procedure in scheme, which would be very cool. 2018-11-17T15:39:15Z jao joined #scheme 2018-11-17T15:39:15Z pjb: Foremost if you can also store some scheme expressions in the table, and evaluate the. 2018-11-17T15:39:18Z pjb: them. 2018-11-17T15:40:27Z pjb: A few years ago, there was a bid for the tax software of the Algerian government, which called for storing BASIC expressions in the database to be run to compute the taxes, depending on the tax year and the current tax laws. 2018-11-17T15:40:38Z pjb: Would have been much better with scheme. 2018-11-17T15:41:28Z jao quit (Read error: Connection reset by peer) 2018-11-17T15:43:19Z jao joined #scheme 2018-11-17T15:43:27Z nly joined #scheme 2018-11-17T15:45:44Z longshi quit (Quit: WeeChat 2.3) 2018-11-17T15:52:49Z ski_ joined #scheme 2018-11-17T15:59:44Z amz3: pjb: how do you know about algerian tax software? 2018-11-17T16:00:07Z pjb: amz3: it was a public bid. 2018-11-17T16:00:29Z amz3: pjb: are you algerian? 2018-11-17T16:00:37Z pjb: Nope. French. 2018-11-17T16:00:59Z amz3: I don't think algerian accept foreign bids 2018-11-17T16:01:05Z pjb: There are web sites such as https://www.governmentbids.com/cgi/en/popular.product.rfps/software-development 2018-11-17T16:01:46Z amz3: interesting 2018-11-17T16:01:48Z pjb: https://www.dztenders.com/fr/archives/5680/Logiciel%252C%2BConseil%2Bet%2BServices%2Bd%2527Ing%25C3%25A9nierie%2BInformatique. 2018-11-17T16:01:49Z rudybot: http://teensy.info/53H6MTBvXZ 2018-11-17T16:01:56Z amz3: I am french-algerian. 2018-11-17T16:01:59Z pjb: http://www.made-in-algeria.com/data_4/ao_liste.php?pg_cr=x7S6ubLClJmOusG9wY/P487b2dPX59Ld4Y/FvLTAuY/h4+Th0+LT1+PT6eHN1d6rm6empZaO1d3SlNPP6NTN2dLW2dDc19TN1d6OsqyOm6GepaebpKSbpqSVlI/d5tPT5o/Q7Y/X2M7P44/S2eLR&id_secteur=21 2018-11-17T16:01:59Z rudybot: http://teensy.info/DFZlROQTGn 2018-11-17T16:02:00Z pjb: etc. 2018-11-17T16:02:23Z pjb: Almost all countries have the same kind of system to buy stuff… 2018-11-17T16:03:05Z InverseRhombus quit (Remote host closed the connection) 2018-11-17T16:03:15Z amz3: yes thanks for the links it is interesting 2018-11-17T16:04:30Z amz3: about the database stuff, I was going to say "don't feed the troll". The ful story, is that I started Scheme because guile had no global interpreter lock to build a database with high level language querying capability 2018-11-17T16:05:15Z amz3: And at the same time experiment with databases abstractions that are not like SQL pgsql, mysql and the like 2018-11-17T16:06:23Z amz3: that is abstractions that are no sql. So the goal is two sides: have a database with high level language programming (which can be done with embedding in pgsql) and that is not an RDBMS 2018-11-17T16:06:41Z amz3: actually, it's been 7 years of (free time) research and 4 years of scheme 2018-11-17T16:06:48Z amz3: 4 years of free time 2018-11-17T16:10:32Z amz3: the result of my research: first, key-value stores ala wiredtiger, rocksdb, lmdb _with_ ACID transaction support are the way to go. second, stored procedure are required to outgrow the monolith (database + business code) because serializing database queries when the schema is complex is very difficult. Third, I think the way to go is something in the spirit of RDF and datomic 2018-11-17T16:11:39Z amz3: that said, I don't have a project that is big and using RDF-like database, yet. 2018-11-17T16:13:35Z amz3: also, foundationdb is a game changer it makes building horizontally scalable applications a breeze from the data persistence point of view, while giving much room for abstractions (called "layers" in foundationdb slang) 2018-11-17T16:14:30Z amz3: right now, I am thinking about the datomic way of specifying a schema on-top the triple store to fine-tune / customize indexing 2018-11-17T16:15:16Z amz3: at the end of the day, if I had the save the world I would use postgresql, but since it's not the end of the world, yet, I can have some fun :) 2018-11-17T16:17:55Z amz3: I tried OO databases, they don't deliver when it comes to custom indexing (2D / 3D space, range search) 2018-11-17T16:18:05Z amz3: order-by stuff 2018-11-17T16:18:14Z amz3: same for graph databases 2018-11-17T16:20:28Z rain1: hi 2018-11-17T16:20:33Z amz3: o/ 2018-11-17T16:22:10Z jao quit (Disconnected by services) 2018-11-17T16:22:48Z jao joined #scheme 2018-11-17T16:26:46Z klovett_ joined #scheme 2018-11-17T16:28:33Z jcowan: pjb: you only say that because Schemes come with eval, but not with basic-expr-eval, which should be downright trivial to write in Scheme 2018-11-17T16:28:51Z klovett quit (Ping timeout: 252 seconds) 2018-11-17T16:29:00Z pjb: :-) 2018-11-17T16:29:37Z pjb: jcowan: actually, there are better reasons to use scheme than just eval. It's the sexps. You cannot have code injection problems with sexps, like you can have with basic or sql. 2018-11-17T16:30:03Z pjb: But if we used scheme, you couldn't write PhD theses about code injection and how to avoid them, so… 2018-11-17T16:30:21Z rain1: well said pjb 2018-11-17T16:30:26Z rain1: it's insane that these things are still problems 2018-11-17T16:30:32Z rain1: given that we know how to solve them 2018-11-17T16:30:57Z pjb: It's not the only kind of problem that wouldn't exist if lisp was used. 2018-11-17T16:31:10Z pjb: Basically, you could fire 3/4 of all programmers if we only used lisp. 2018-11-17T16:31:52Z pjb: Or conversely, you could write the software of the lunar bases, and the space ships to explore the galaxy with the same head count. 2018-11-17T16:33:46Z rain1: relating to that, one of the things that really struck me is this concept of adding more programmers means that they all just create work for each other 2018-11-17T16:33:55Z lllll: now you're talking 2018-11-17T16:34:25Z Inline quit (Read error: Connection reset by peer) 2018-11-17T16:35:29Z ski joined #scheme 2018-11-17T16:35:39Z ski_ . o O ( The mythical man-month ) 2018-11-17T16:36:46Z lllll: btw NASA's deep space 1 had lisp in it 2018-11-17T16:37:43Z rain1: really! 2018-11-17T16:40:43Z lllll: http://www.flownet.com/gat/jpl-lisp.html 2018-11-17T16:41:34Z Inline joined #scheme 2018-11-17T16:43:15Z skapate joined #scheme 2018-11-17T16:43:15Z skapata quit (Read error: Connection reset by peer) 2018-11-17T16:46:13Z jcowan: Erann/Ron gave me the biggest piece of wisdom about Google (the company) that I got in my four years there. Unfortunately, I was too dumb to follow it, which led inexorably to my departure. 2018-11-17T16:50:39Z qu1j0t3: jcowan: ...and that would be? 2018-11-17T16:50:39Z edw quit (Read error: Connection reset by peer) 2018-11-17T16:50:57Z qu1j0t3: four years is nothing to be ashamed of 2018-11-17T16:51:29Z jcowan: "Don't be in a situation where people on other teams think more highly of you than people on your own team", roughly. 2018-11-17T16:54:31Z grettke joined #scheme 2018-11-17T16:57:35Z InverseRhombus joined #scheme 2018-11-17T16:58:54Z lllll: did you use scheme there? 2018-11-17T17:01:32Z jcowan: No. I was working entirely in Java. There are CL groups in Google, but I know nothing about them. 2018-11-17T17:08:38Z dkmueller joined #scheme 2018-11-17T17:15:45Z juanfra quit (Quit: juanfra) 2018-11-17T17:39:39Z qu1j0t3: jcowan: lol, i fell into that trap at $otherBigCo 2018-11-17T17:39:53Z qu1j0t3: jcowan: i lasted 17 months. couldn't do a day more. thanks $manager 2018-11-17T17:40:15Z qu1j0t3 will never go back to a similar environment 2018-11-17T17:40:54Z qu1j0t3: jcowan: by my lights four years is amazing, though i knew 7 year veterans, once of whom was also defeated by my manager and quit a week after i did. 2018-11-17T17:41:36Z jcowan: Never say never. The demands of family can be imperative. 2018-11-17T17:41:52Z razzy joined #scheme 2018-11-17T17:44:38Z qu1j0t3: nah, pretty sure never. 2018-11-17T17:44:51Z qu1j0t3: family can find another way to kill me. 2018-11-17T17:55:49Z InverseRhombus quit (Remote host closed the connection) 2018-11-17T18:20:28Z aeth quit (Ping timeout: 272 seconds) 2018-11-17T18:20:41Z ggole quit (Quit: ggole) 2018-11-17T18:29:38Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-17T18:54:45Z InverseRhombus joined #scheme 2018-11-17T18:58:58Z alezost joined #scheme 2018-11-17T19:02:12Z robotoad joined #scheme 2018-11-17T19:19:32Z grettke joined #scheme 2018-11-17T19:30:01Z daviid joined #scheme 2018-11-17T19:34:34Z TheGreekOwl quit (Ping timeout: 272 seconds) 2018-11-17T19:35:42Z teardown joined #scheme 2018-11-17T19:37:03Z aeth joined #scheme 2018-11-17T19:52:46Z aeth quit (Ping timeout: 260 seconds) 2018-11-17T19:53:33Z pierpal quit (Remote host closed the connection) 2018-11-17T19:54:32Z aeth joined #scheme 2018-11-17T19:56:04Z fraxamo joined #scheme 2018-11-17T19:56:15Z lockywolf joined #scheme 2018-11-17T19:59:10Z zachk joined #scheme 2018-11-17T19:59:48Z zachk quit (Changing host) 2018-11-17T19:59:48Z zachk joined #scheme 2018-11-17T20:03:24Z jonaslund quit (Ping timeout: 244 seconds) 2018-11-17T20:07:15Z zachk quit (Remote host closed the connection) 2018-11-17T20:08:01Z zachk joined #scheme 2018-11-17T20:08:45Z zachk quit (Remote host closed the connection) 2018-11-17T20:31:30Z pierpal joined #scheme 2018-11-17T20:40:17Z sdstrowes23 joined #scheme 2018-11-17T20:40:32Z sdstrowes23 quit (Read error: Connection reset by peer) 2018-11-17T20:50:14Z zachk joined #scheme 2018-11-17T20:53:31Z lockywolf quit (Ping timeout: 244 seconds) 2018-11-17T21:13:47Z ravndal quit (Quit: WeeChat 2.3) 2018-11-17T21:15:36Z ravndal joined #scheme 2018-11-17T21:24:10Z fraxamo quit (Quit: Leaving) 2018-11-17T21:28:26Z jcob joined #scheme 2018-11-17T21:30:54Z lockywolf joined #scheme 2018-11-17T21:34:18Z terpri quit (Ping timeout: 252 seconds) 2018-11-17T21:36:58Z ngz joined #scheme 2018-11-17T21:39:06Z buhman: is there a common name for (lambda (x) (- 0 x)) ? 2018-11-17T21:40:56Z lllll: - 2018-11-17T21:41:56Z buhman: huh, I didn't know that worked as a 1-ary function; seems like magic 2018-11-17T21:42:59Z zachk quit (Changing host) 2018-11-17T21:42:59Z zachk joined #scheme 2018-11-17T21:43:07Z zachk: negate? 2018-11-17T21:50:43Z qu1j0t3: ^ 2018-11-17T21:51:57Z zachk: you could also (* -1 x) 2018-11-17T21:59:36Z robotoad quit (Quit: robotoad) 2018-11-17T22:06:16Z daviid quit (Ping timeout: 246 seconds) 2018-11-17T22:14:44Z dTal: or (- x x x) 2018-11-17T22:16:48Z jcob quit (Remote host closed the connection) 2018-11-17T22:21:52Z lockywolf quit (Ping timeout: 244 seconds) 2018-11-17T22:26:34Z lockywolf joined #scheme 2018-11-17T22:29:05Z aeth: zachk: (* -1 x) isn't idiomatic. (- x) is. Always use (- x) because the other form might not be optimized. 2018-11-17T22:29:31Z aeth: (- 0 x) also might not be optimized. 2018-11-17T22:30:21Z aeth: Even more interestingly, (- 0 x) might be optimized and (- 0.0 x) might not be optimized. 2018-11-17T22:36:36Z dTal: (/ x -1) 2018-11-17T22:36:46Z Riastradh: (* -1 x) and (- x) behave slightly differently from (- 0 x). 2018-11-17T22:37:17Z jcowan: aeth: the last form can't be optimized because of (- 0.0 +inf.0) => -inf.0 and vice versa. 2018-11-17T22:37:49Z jcowan: Applying mathematical identities to simplify floats is a bad, bad idea 2018-11-17T22:38:03Z Riastradh: jcowan: Why do you draw a distinction between (- 0 x) and (- 0.0 x) there? 2018-11-17T22:38:12Z jcowan: True 2018-11-17T22:38:18Z jcowan: I should not 2018-11-17T22:38:25Z Riastradh: (assuming x is inexact; if not, of course they are different) 2018-11-17T22:38:43Z rain1: https://github.com/rain-1/racket-peg/tree/guile/tests/peg-syntax-harness I have got all these PEG parser tests working in guile now 2018-11-17T22:39:08Z rain1: so the port is basically complete 2018-11-17T22:39:20Z Riastradh: rain1: How about a LALR parser? 2018-11-17T22:39:38Z rain1: I don't have that 2018-11-17T22:40:52Z jcowan: Dartmouth Lisp, the first Lisp I learned, treated - (spelled MINUS, I think) as right associative. I've always thought that would be intrinsically better, though too late now. 2018-11-17T22:41:21Z Riastradh: jcowan: I tend to find it more useful for - and / to be left-associative. 2018-11-17T22:41:28Z Riastradh: More convenient, anyway. 2018-11-17T22:43:17Z jcowan: I can't remember the last time I used - with >2 arguments 2018-11-17T22:43:23Z Riastradh: Dunno about - but / anyway. 2018-11-17T22:43:31Z Riastradh: (/ x 1024 1024 1024) -> converte bytes to gigabytes. 2018-11-17T22:43:46Z jcowan nods 2018-11-17T22:44:16Z rain1: I kind of like the idea of dropping var args, every function should have a fixed number of args 2018-11-17T22:46:18Z jcowan: I made sure that was so in all the fx* and fl* predicates in SRFIs 143-44, where performance matters. But typing (+ a (+ b (+ c ... is really obnoxious. 2018-11-17T22:47:44Z khisanth_ quit (Ping timeout: 268 seconds) 2018-11-17T22:51:19Z rain1: main difficulty i had porting it was guile matcher is different from racket matcher 2018-11-17T22:51:57Z rain1: and racket needs some special phasing stuff to define functions that macros use, guile just lets you define them like normal functions 2018-11-17T22:52:12Z rain1: oh and CASE works with strings in racket but not guile 2018-11-17T22:52:18Z rain1: i really think CASE should work with strings 2018-11-17T22:52:23Z rain1: but it's easy to switch to MATCH 2018-11-17T22:54:14Z rain1: oh another important difference 2018-11-17T22:54:31Z rain1: racket module system lets you export (all-defined-out) all functions defined 2018-11-17T22:54:36Z rain1: but guile doesn't have that 2018-11-17T22:54:58Z jcowan: Strings are immutable in Racket, which is why CASE can work with them. 2018-11-17T22:55:36Z rain1: ah so becaues of the immutabilitiy EQV? works on strings 2018-11-17T22:55:45Z rain1: but really I think we should just make CASE use EQUAL? 2018-11-17T22:57:49Z aeth: jcowan: It shouldn't be optimized, but it could be. 2018-11-17T22:58:27Z aeth: Riastradh: The difference is that 0.0 will guarantee that the result is a float 2018-11-17T22:58:40Z aeth: x could be anything, and if x is known to be an integer, why not optimize? 2018-11-17T23:00:10Z khisanth_ joined #scheme 2018-11-17T23:01:36Z daviid joined #scheme 2018-11-17T23:09:23Z lllll: chez has a built-in profiler with annotated source html generator, very cool 2018-11-17T23:09:33Z lllll: did not know that 2018-11-17T23:10:34Z lllll: it generates heatmap using the number of executions of each instruction 2018-11-17T23:16:17Z civodul quit (Remote host closed the connection) 2018-11-17T23:16:38Z civodul joined #scheme 2018-11-17T23:18:39Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-17T23:19:11Z lritter quit (Ping timeout: 268 seconds) 2018-11-17T23:22:38Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-17T23:23:17Z nly quit (Quit: Quit) 2018-11-17T23:26:18Z ngz quit (Ping timeout: 252 seconds) 2018-11-17T23:34:02Z Riastradh: Where's mejja? Get over here, mejja! I have something essentially useless to tell you. 2018-11-17T23:34:06Z grettke joined #scheme 2018-11-17T23:35:37Z Riastradh: rudybot: eval (make-rectangular (/ 1. 0.) (/ 0. 0.)) 2018-11-17T23:35:38Z rudybot: Riastradh: ; Value: +inf.0+nan.0i 2018-11-17T23:35:53Z Riastradh: rudybot: eval (make-polar (/ 1. 0.) (/ 0. 0.)) 2018-11-17T23:35:53Z rudybot: Riastradh: ; Value: +nan.0+nan.0i 2018-11-17T23:35:56Z Riastradh: rudybot: eval (make-polar (/ 1. 0.) (/ 1. 0.)) 2018-11-17T23:35:56Z rudybot: Riastradh: ; Value: +nan.0+nan.0i 2018-11-17T23:36:01Z Riastradh: rudybot: eval (make-polar 1. (/ 1. 0.)) 2018-11-17T23:36:01Z rudybot: Riastradh: ; Value: +nan.0+nan.0i 2018-11-17T23:36:07Z Riastradh: rudybot: eval +inf.0-inf.0i 2018-11-17T23:36:07Z rudybot: Riastradh: ; Value: +inf.0-inf.0i 2018-11-17T23:36:22Z Riastradh: rudybot: eval 1@0 2018-11-17T23:36:22Z rudybot: Riastradh: ; Value: 1 2018-11-17T23:36:25Z Riastradh: rudybot: eval 0@1 2018-11-17T23:36:25Z rudybot: Riastradh: ; Value: 0 2018-11-17T23:36:30Z Riastradh: rudybot: eval 1@-inf.0 2018-11-17T23:36:31Z rudybot: Riastradh: ; Value: +nan.0+nan.0i 2018-11-17T23:37:05Z Riastradh: rudybot: eval (sin 3.1415926535897932384626433832795) 2018-11-17T23:37:05Z rudybot: Riastradh: ; Value: 1.2246467991473532e-16 2018-11-17T23:37:39Z Riastradh: Oh good, rudybot's sin isn't running on a busted i387 libm. 2018-11-17T23:39:07Z debsan quit (Ping timeout: 240 seconds) 2018-11-17T23:39:55Z klovett joined #scheme 2018-11-17T23:40:45Z debsan joined #scheme 2018-11-17T23:40:45Z debsan quit (Changing host) 2018-11-17T23:40:45Z debsan joined #scheme 2018-11-17T23:41:49Z klovett_ quit (Ping timeout: 246 seconds) 2018-11-17T23:54:45Z buhman: yeah, because CPUs with branch prediction vunerabilities are so much better than benign FPU errors. 2018-11-17T23:56:14Z Riastradh: ...who said anything about branch prediction? 2018-11-17T23:56:54Z buhman: me? 2018-11-18T00:03:40Z lockywolf quit (Remote host closed the connection) 2018-11-18T00:04:07Z debsan quit (Ping timeout: 240 seconds) 2018-11-18T00:06:58Z debsan joined #scheme 2018-11-18T00:06:59Z debsan quit (Changing host) 2018-11-18T00:06:59Z debsan joined #scheme 2018-11-18T00:10:06Z pjb quit (Ping timeout: 264 seconds) 2018-11-18T00:10:50Z dkmueller quit (Quit: Lost terminal) 2018-11-18T00:12:09Z daviid quit (Ping timeout: 252 seconds) 2018-11-18T00:14:03Z lockywolf joined #scheme 2018-11-18T00:19:00Z lockywolf quit (Ping timeout: 268 seconds) 2018-11-18T00:24:06Z Zipheir: That was a predictable response. 2018-11-18T00:53:40Z jcob joined #scheme 2018-11-18T00:56:40Z lockywolf joined #scheme 2018-11-18T00:57:23Z terpri joined #scheme 2018-11-18T01:01:08Z jao quit (Ping timeout: 250 seconds) 2018-11-18T01:01:48Z robotoad joined #scheme 2018-11-18T01:06:55Z mejja joined #scheme 2018-11-18T01:07:11Z jcowan: Predicting the unpredictable 2018-11-18T01:07:18Z jcowan: or predicating the impredicative 2018-11-18T01:08:16Z lockywolf quit (Ping timeout: 246 seconds) 2018-11-18T01:08:41Z gwatt: we shouldn't have to choose between branch prediction vulns and FPU errors (which may or may not be benign) 2018-11-18T01:15:34Z Riastradh: mejja: Fixed the build from 10.whatever and the notation. What else is broken now? 2018-11-18T01:17:27Z mejja: the release notes (flotrap). No such procedure: flo:all-exceptions 2018-11-18T01:17:45Z Riastradh: Heh. Oops. 2018-11-18T01:19:55Z Riastradh: mejja: fixed 2018-11-18T01:23:26Z mejja: Also (make-polar +inf.0 0) vs (make-polar +inf.0 0.0), why the nan? 2018-11-18T01:25:46Z Riastradh: (sin 0) 2018-11-18T01:25:46Z Riastradh: ;Value: 0 2018-11-18T01:25:46Z Riastradh: (sin 0.) 2018-11-18T01:25:46Z Riastradh: ;Value: 0. 2018-11-18T01:25:46Z Riastradh: (* +inf.0 0) 2018-11-18T01:25:49Z Riastradh: ;Value: 0 2018-11-18T01:25:51Z Riastradh: (* +inf.0 0.) 2018-11-18T01:25:54Z Riastradh: ;Value: +nan.0 2018-11-18T01:25:56Z Riastradh: Apparently because of that. 2018-11-18T01:27:52Z jcob quit (Ping timeout: 246 seconds) 2018-11-18T01:31:39Z mejja: same in gambit btw 2018-11-18T01:42:36Z jao joined #scheme 2018-11-18T01:50:24Z zachk quit (Quit: Leaving) 2018-11-18T01:50:41Z Riastradh: (make-polar mag 0) now always returns mag (if it is a real number or floating-point value). 2018-11-18T01:50:55Z Riastradh: Also (* +inf.0 0) now returns NaN as it should. 2018-11-18T01:55:31Z Riastradh: As for (make-polar +inf.0 0.), I'm open to arguments about what it should be. 2018-11-18T01:57:03Z gwatt: chez and guile say +inf.0+nan.0i 2018-11-18T01:58:25Z Riastradh: I think that's a reasonable choice. 2018-11-18T02:09:08Z mejja: You can find the set of all exceptions that can be trapped with (flo:exceptions->names (flo:trappable-exceptions)), please 2018-11-18T02:11:07Z Riastradh: mejja: Better? 2018-11-18T02:11:19Z mejja: #t 2018-11-18T02:26:27Z sethalves quit (Ping timeout: 240 seconds) 2018-11-18T02:27:28Z sethalves joined #scheme 2018-11-18T02:37:38Z sleffy joined #scheme 2018-11-18T02:37:54Z sleffy left #scheme 2018-11-18T02:42:33Z jao quit (Ping timeout: 252 seconds) 2018-11-18T02:44:20Z robotoad quit (Ping timeout: 244 seconds) 2018-11-18T02:48:17Z mejja: Riastradh, more fun stuff: (atan -2i) vs (atan 0.0-2i) 2018-11-18T02:54:41Z Riastradh: Hmmm. 2018-11-18T02:54:41Z Riastradh: 2+0. 2018-11-18T02:54:41Z Riastradh: ;Value: 2. 2018-11-18T02:55:24Z mejja: infix for the win! 2018-11-18T02:56:38Z robotoad joined #scheme 2018-11-18T03:06:05Z Riastradh: @!&#*@! 2018-11-18T03:06:09Z Riastradh: <= is broken. 2018-11-18T03:06:33Z wigust quit (Ping timeout: 244 seconds) 2018-11-18T03:07:54Z wigust joined #scheme 2018-11-18T03:09:46Z robotoad quit (Quit: robotoad) 2018-11-18T03:10:45Z buhman: http://paste.debian.net/1052165/ I'm a scheme noob; I wrote this, but it seems awkward, particularly the remove-first implementation 2018-11-18T03:11:02Z buhman: is there a better way to do either/both of those things? 2018-11-18T03:17:15Z lockywolf joined #scheme 2018-11-18T03:19:45Z Zipheir: buhman: (define (remove-first y l) (match l (() '()) ((x . xs) (if (eqv? x y) xs (cons x (remove-first y xs)))))) would be my golf at remove-first. 2018-11-18T03:26:51Z buhman: hmm yeah that looks much better 2018-11-18T03:27:55Z robotoad joined #scheme 2018-11-18T03:28:06Z Zipheir: Also, (apply cmp xs) may blow up since xs is an arbitrary list. 2018-11-18T03:28:36Z Zipheir: I'm not exactly sure what your take-cmp is supposed to do. 2018-11-18T03:29:16Z buhman: when cmp is `max`, it would take the n largest elements 2018-11-18T03:30:03Z buhman: is there a standard list variant of max? 2018-11-18T03:30:04Z ski_ quit (Quit: Lost terminal) 2018-11-18T03:31:58Z Zipheir: (fold max (car xs) (cdr xs)) 2018-11-18T03:32:30Z buhman: nice 2018-11-18T03:32:33Z buhman: didn't think of that either 2018-11-18T03:32:45Z Zipheir: If you just want the n largest elements of a list, just sort it and take n. 2018-11-18T03:32:51Z buhman: heh 2018-11-18T03:36:00Z reverse_1ight joined #scheme 2018-11-18T03:38:40Z Zipheir: And a take/sort composition still seems like the way to go if you want the largest elements as defined by some arbitrary cmp function. 2018-11-18T03:38:46Z reverse_light quit (Ping timeout: 246 seconds) 2018-11-18T03:39:00Z Zipheir: The monolithic version gets pretty hairy. 2018-11-18T03:44:57Z mejja quit (Quit: mejja) 2018-11-18T03:46:32Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T04:04:48Z badkins quit (Remote host closed the connection) 2018-11-18T04:12:48Z TheGreekOwl joined #scheme 2018-11-18T04:16:41Z TheGreekOwl quit (Client Quit) 2018-11-18T04:17:03Z TheGreekOwl joined #scheme 2018-11-18T04:26:08Z Riastradh: Hm. 2018-11-18T04:26:14Z Riastradh: rudybot: eval (atan -2i) 2018-11-18T04:26:15Z rudybot: Riastradh: ; Value: -1.5707963267948966-0.5493061443340549i 2018-11-18T04:26:18Z Riastradh: rudybot: eval (atan 0.-2i) 2018-11-18T04:26:19Z rudybot: Riastradh: ; Value: -1.5707963267948966-0.5493061443340549i 2018-11-18T04:26:21Z Riastradh: rudybot: eval (atan -0.-2i) 2018-11-18T04:26:22Z rudybot: Riastradh: ; Value: -1.5707963267948966-0.5493061443340549i 2018-11-18T04:26:46Z Riastradh: rudybot: eval (atan 0.-2.i) 2018-11-18T04:26:47Z rudybot: Riastradh: ; Value: -1.5707963267948966-0.5493061443340549i 2018-11-18T04:28:59Z lockywolf_ joined #scheme 2018-11-18T04:29:59Z Riastradh: rudybot: eval (atan -i) 2018-11-18T04:29:59Z rudybot: Riastradh: ; Value: -inf.0 2018-11-18T04:31:47Z lockywolf quit (Ping timeout: 240 seconds) 2018-11-18T04:38:20Z Riastradh: rudybot: eval (atan -1e-100-2.i) 2018-11-18T04:38:21Z rudybot: Riastradh: ; Value: -1.5707963267948966-0.5493061443340548i 2018-11-18T04:38:25Z Riastradh: rudybot: eval (atan +1e-100-2.i) 2018-11-18T04:38:25Z rudybot: Riastradh: ; Value: 1.5707963267948966-0.5493061443340548i 2018-11-18T04:39:08Z Riastradh: So, Scheme's idea of exactness is kind of unfortunate here! 2018-11-18T04:40:50Z Riastradh: The standard way to compute (atan z) is (/ (- (log (+ 1 iz)) (log (- 1 iz))) 2i), where iz = (* +i z). When z's components are floating-point numbers, the sign of a zero real part in z becomes the sign of the zero imaginary part in iz, which determines which side of the branch cut the log is on, if you'll pardon the pun. 2018-11-18T04:41:56Z Riastradh: Rather, when you compute (+ 1 iz) an (- 1 iz), the signs get flipped the right way. 2018-11-18T04:42:51Z Riastradh: But if z's real part is Scheme exact zero, then so are the imaginary parts of iz, (+ 1 iz), and (- 1 iz), which are thus all evaluated on the positive imaginary side of the log branch cut, rather than on opposite sides as they should be. 2018-11-18T04:52:15Z grettke joined #scheme 2018-11-18T05:00:20Z lockywolf_ quit (Read error: Connection reset by peer) 2018-11-18T05:00:36Z lockywolf joined #scheme 2018-11-18T05:04:21Z jcowan: Riastradh: Mixed-exactness complex numbers are kind of a gap in the standards, and many Schemes don't support them at all (except for the special case of (imag-part some-flonum) being 0. 2018-11-18T05:05:14Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ComplexRepresentations.md 2018-11-18T05:07:43Z ggole joined #scheme 2018-11-18T05:09:46Z klovett quit (Remote host closed the connection) 2018-11-18T05:11:42Z skapate quit (Quit: Ĝis!) 2018-11-18T05:32:56Z klovett joined #scheme 2018-11-18T05:37:04Z klovett quit (Ping timeout: 246 seconds) 2018-11-18T05:44:43Z klovett joined #scheme 2018-11-18T05:51:53Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T05:52:41Z klovett joined #scheme 2018-11-18T05:56:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T05:57:23Z klovett joined #scheme 2018-11-18T06:05:53Z klovett quit (Ping timeout: 245 seconds) 2018-11-18T06:13:03Z Riastradh: jcowan: Actually in this case there's no mixed exactness. 2018-11-18T06:13:25Z Riastradh: jcowan: (atan -2i) should give the same result as (atan 0.-2.i). 2018-11-18T06:24:06Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-18T06:24:57Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T06:25:14Z Riastradh: 0+0+0+0+0i 2018-11-18T06:25:15Z Riastradh: ;Value: 0 2018-11-18T06:25:16Z Riastradh: Hmmmmmmmmmmm. 2018-11-18T06:25:33Z grettke joined #scheme 2018-11-18T06:35:33Z klovett joined #scheme 2018-11-18T06:39:56Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T06:40:30Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T06:41:59Z lockywolf_ joined #scheme 2018-11-18T06:44:18Z lockywolf quit (Ping timeout: 252 seconds) 2018-11-18T06:44:32Z lockywolf_ quit (Remote host closed the connection) 2018-11-18T06:45:41Z klovett joined #scheme 2018-11-18T06:53:48Z klovett quit (Ping timeout: 245 seconds) 2018-11-18T06:54:26Z realfascism quit (Remote host closed the connection) 2018-11-18T07:09:11Z klovett joined #scheme 2018-11-18T07:13:40Z razzy quit (Ping timeout: 246 seconds) 2018-11-18T07:13:46Z klovett quit (Ping timeout: 272 seconds) 2018-11-18T07:14:26Z klovett joined #scheme 2018-11-18T07:18:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T07:22:54Z klovett joined #scheme 2018-11-18T07:27:35Z klovett quit (Ping timeout: 268 seconds) 2018-11-18T07:28:23Z klovett joined #scheme 2018-11-18T07:32:42Z klovett quit (Ping timeout: 252 seconds) 2018-11-18T07:37:25Z klovett joined #scheme 2018-11-18T07:41:40Z klovett quit (Ping timeout: 246 seconds) 2018-11-18T07:42:18Z klovett joined #scheme 2018-11-18T07:46:43Z klovett quit (Ping timeout: 245 seconds) 2018-11-18T07:53:27Z joast quit (Ping timeout: 240 seconds) 2018-11-18T07:54:34Z razzy joined #scheme 2018-11-18T08:11:00Z klovett joined #scheme 2018-11-18T08:34:50Z klovett quit (Ping timeout: 272 seconds) 2018-11-18T08:36:32Z grettke joined #scheme 2018-11-18T08:52:54Z pjb joined #scheme 2018-11-18T08:58:39Z klovett joined #scheme 2018-11-18T09:02:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T09:05:43Z fraxamo joined #scheme 2018-11-18T09:08:13Z klovett joined #scheme 2018-11-18T09:12:33Z klovett quit (Ping timeout: 245 seconds) 2018-11-18T09:15:31Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T09:18:00Z fmnt joined #scheme 2018-11-18T09:18:43Z klovett joined #scheme 2018-11-18T09:25:14Z fraxamo: Hi, which Scheme implementation is going to give me the smoothest experience when working through HTDP and The Little Schemer (TLS)? 2018-11-18T09:25:39Z fraxamo: I started using BiwaScheme via repl.it and found a number of issues after a few pages of TLS. 2018-11-18T09:25:54Z fraxamo: Being new to Scheme I was unable to figure out the problem. Or fix them. 2018-11-18T09:26:16Z fraxamo: I see that a new version of Chicken Scheme has just been released. Would this work well? 2018-11-18T09:27:01Z klovett quit (Ping timeout: 246 seconds) 2018-11-18T09:29:08Z wasamasa: well, its devs are busy fixing bugs and porting eggs 2018-11-18T09:29:45Z wasamasa: so if that's your jam, sure 2018-11-18T09:30:06Z wasamasa: just so you know, the HTDP people use racket 2018-11-18T09:30:44Z fraxamo: wasamasa: So, generally, would it be better to start with Racket than Scheme? 2018-11-18T09:30:56Z wasamasa: it depends 2018-11-18T09:31:08Z fraxamo: Haha. Always the right answer :) 2018-11-18T09:31:22Z wasamasa: like, if they make use of racket features (like #lang to select a specific language), then use racket 2018-11-18T09:31:40Z fraxamo: Sure 2018-11-18T09:31:58Z wasamasa: in any case, it caters more for beginners than biwa 2018-11-18T09:32:00Z fraxamo: I doubt if that's the case in the TLS though right? 2018-11-18T09:32:11Z wasamasa: yeah, doubtful 2018-11-18T09:32:32Z fraxamo: So which Scheme would you use to go through TLS? 2018-11-18T09:32:42Z fraxamo: I'll start there and then move to HTDP 2018-11-18T09:33:07Z wasamasa: my favorite is CHICKEN, so I'd go with that 2018-11-18T09:33:24Z klovett joined #scheme 2018-11-18T09:33:28Z wasamasa: I also like kawa 2018-11-18T09:34:08Z fraxamo: Excellent. Any reason not to go with the latest version of CHICKEN? 2018-11-18T09:34:21Z wasamasa: as I've mentioned before, it's a breaking change 2018-11-18T09:34:32Z wasamasa: so you'll run into roadblocks, like the doc tool not being ported yet 2018-11-18T09:34:56Z fraxamo: Ok, so better to use the previous stable version? 2018-11-18T09:35:03Z fraxamo: Until I know what I'm doing 2018-11-18T09:35:07Z wasamasa: yeah, it's most likely going to be packaged by your OS, too 2018-11-18T09:37:04Z fraxamo: FreeBSD has 4.13.0 as well as 5.0, so 4.13.0 it is then 2018-11-18T09:37:18Z fraxamo: Thanks for your help 2018-11-18T09:40:47Z jonaslund joined #scheme 2018-11-18T09:51:16Z klovett quit (Ping timeout: 268 seconds) 2018-11-18T09:51:59Z klovett joined #scheme 2018-11-18T09:56:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T09:56:53Z klovett joined #scheme 2018-11-18T10:10:16Z klovett quit (Ping timeout: 252 seconds) 2018-11-18T10:10:56Z klovett joined #scheme 2018-11-18T10:19:27Z jonaslund quit (Ping timeout: 240 seconds) 2018-11-18T10:21:17Z klovett_ joined #scheme 2018-11-18T10:24:05Z klovett quit (Ping timeout: 250 seconds) 2018-11-18T10:26:01Z klovett_ quit (Ping timeout: 260 seconds) 2018-11-18T10:30:35Z klovett joined #scheme 2018-11-18T10:35:01Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T10:38:09Z Zaab1t joined #scheme 2018-11-18T10:56:45Z siiky joined #scheme 2018-11-18T10:58:53Z lavaflow quit (Read error: No route to host) 2018-11-18T11:00:07Z lavaflow joined #scheme 2018-11-18T11:01:41Z siiky quit (Quit: Leaving) 2018-11-18T11:02:00Z siiky joined #scheme 2018-11-18T11:08:25Z InverseRhombus quit (Remote host closed the connection) 2018-11-18T11:13:49Z jonaslund joined #scheme 2018-11-18T11:21:30Z catonano joined #scheme 2018-11-18T11:37:38Z InverseRhombus joined #scheme 2018-11-18T11:42:14Z lavaflow quit (Read error: No route to host) 2018-11-18T11:43:02Z lavaflow joined #scheme 2018-11-18T11:47:11Z zbigniew quit (Remote host closed the connection) 2018-11-18T11:59:09Z razzy quit (Ping timeout: 252 seconds) 2018-11-18T12:01:59Z Inline quit (Read error: Connection reset by peer) 2018-11-18T12:02:34Z Inline joined #scheme 2018-11-18T12:03:42Z Inline quit (Read error: Connection reset by peer) 2018-11-18T12:15:31Z fraxamo quit (Quit: Leaving) 2018-11-18T12:36:23Z klovett joined #scheme 2018-11-18T12:39:41Z fmnt quit (Quit: Leaving.) 2018-11-18T12:40:34Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T12:41:23Z klovett joined #scheme 2018-11-18T12:42:14Z ventonegro quit (Read error: Connection reset by peer) 2018-11-18T12:45:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T12:47:25Z catonano quit (Quit: catonano) 2018-11-18T12:47:47Z catonano joined #scheme 2018-11-18T12:50:29Z Inline joined #scheme 2018-11-18T12:56:47Z cmatei quit (Remote host closed the connection) 2018-11-18T13:06:36Z lritter joined #scheme 2018-11-18T13:09:03Z klovett joined #scheme 2018-11-18T13:10:19Z cmatei joined #scheme 2018-11-18T13:11:31Z siiky quit (Quit: Leaving) 2018-11-18T13:13:28Z klovett quit (Ping timeout: 246 seconds) 2018-11-18T13:14:04Z klovett joined #scheme 2018-11-18T13:15:41Z Inline quit (Read error: Connection reset by peer) 2018-11-18T13:16:20Z Inline joined #scheme 2018-11-18T13:18:17Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T13:19:08Z klovett joined #scheme 2018-11-18T13:20:17Z razzy joined #scheme 2018-11-18T13:23:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-18T13:23:48Z klovett joined #scheme 2018-11-18T13:32:54Z klovett quit (Ping timeout: 264 seconds) 2018-11-18T13:37:19Z klovett joined #scheme 2018-11-18T13:41:54Z klovett quit (Ping timeout: 268 seconds) 2018-11-18T13:42:42Z klovett joined #scheme 2018-11-18T13:50:50Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T13:51:35Z alezost joined #scheme 2018-11-18T14:02:28Z TheGreekOwl quit (Ping timeout: 246 seconds) 2018-11-18T14:04:09Z maximjaffe joined #scheme 2018-11-18T14:14:45Z jonaslund quit (Ping timeout: 252 seconds) 2018-11-18T14:15:26Z jonaslund joined #scheme 2018-11-18T14:18:32Z xkapastel joined #scheme 2018-11-18T14:20:27Z joast joined #scheme 2018-11-18T14:24:31Z klovett joined #scheme 2018-11-18T14:30:06Z klovett quit (Ping timeout: 244 seconds) 2018-11-18T14:30:55Z klovett joined #scheme 2018-11-18T14:32:10Z skapata joined #scheme 2018-11-18T14:55:19Z catonano quit (Quit: catonano) 2018-11-18T15:30:02Z fmnt joined #scheme 2018-11-18T15:38:38Z alezost quit (Ping timeout: 250 seconds) 2018-11-18T15:47:42Z jonaslund quit (Ping timeout: 252 seconds) 2018-11-18T16:00:34Z jonaslund joined #scheme 2018-11-18T16:00:42Z sethalves quit (Ping timeout: 272 seconds) 2018-11-18T16:07:02Z klovett quit (Remote host closed the connection) 2018-11-18T16:08:28Z klovett joined #scheme 2018-11-18T16:09:43Z nick8325 joined #scheme 2018-11-18T16:11:48Z ByronJohnson quit (Remote host closed the connection) 2018-11-18T16:14:50Z nick8325 quit (Quit: Leaving.) 2018-11-18T16:22:21Z jao joined #scheme 2018-11-18T16:23:48Z klovett quit (Ping timeout: 252 seconds) 2018-11-18T16:27:36Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-18T16:37:39Z razzy quit (Ping timeout: 268 seconds) 2018-11-18T16:40:41Z elderK quit (Quit: Connection closed for inactivity) 2018-11-18T16:42:48Z bairyn joined #scheme 2018-11-18T16:57:04Z klovett joined #scheme 2018-11-18T17:08:49Z razzy joined #scheme 2018-11-18T17:10:51Z klovett_ joined #scheme 2018-11-18T17:12:48Z klovett quit (Ping timeout: 268 seconds) 2018-11-18T17:14:12Z grettke joined #scheme 2018-11-18T17:20:47Z terpri quit (Remote host closed the connection) 2018-11-18T17:21:17Z terpri joined #scheme 2018-11-18T17:25:47Z klovett_ quit (Remote host closed the connection) 2018-11-18T17:27:21Z jcowan: The best-supported implementations for SICP are Racket and MIT, for the record. 2018-11-18T17:31:18Z InverseRhombus joined #scheme 2018-11-18T17:33:32Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-18T17:35:51Z razzy quit (Ping timeout: 252 seconds) 2018-11-18T17:41:33Z ng0 quit (Quit: WeeChat 1.6) 2018-11-18T17:42:01Z fraxamo joined #scheme 2018-11-18T17:47:40Z ng0 joined #scheme 2018-11-18T17:53:36Z Inline quit (Read error: Connection reset by peer) 2018-11-18T17:54:15Z Inline joined #scheme 2018-11-18T17:55:33Z Inline quit (Read error: Connection reset by peer) 2018-11-18T17:57:52Z edw joined #scheme 2018-11-18T18:10:24Z Inline joined #scheme 2018-11-18T18:11:26Z klovett joined #scheme 2018-11-18T18:28:39Z oni-on-ion quit (Ping timeout: 268 seconds) 2018-11-18T18:30:26Z oni-on-ion joined #scheme 2018-11-18T18:37:14Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-18T18:43:53Z siiky joined #scheme 2018-11-18T18:51:19Z dkmueller joined #scheme 2018-11-18T18:57:56Z bitmapper joined #scheme 2018-11-18T18:58:04Z alezost joined #scheme 2018-11-18T18:58:45Z alezost quit (Disconnected by services) 2018-11-18T19:00:02Z alezost joined #scheme 2018-11-18T19:09:50Z xkapastel joined #scheme 2018-11-18T19:13:33Z razzy joined #scheme 2018-11-18T19:18:41Z ggole quit (Remote host closed the connection) 2018-11-18T19:35:50Z fmnt quit (Quit: Leaving.) 2018-11-18T19:36:29Z razzy quit (Ping timeout: 268 seconds) 2018-11-18T19:38:30Z razzy joined #scheme 2018-11-18T19:54:15Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T20:12:21Z permagreen quit (Remote host closed the connection) 2018-11-18T20:12:59Z grettke joined #scheme 2018-11-18T20:15:06Z robotoad quit (Quit: robotoad) 2018-11-18T20:15:18Z zmt00 joined #scheme 2018-11-18T20:19:03Z InverseRhombus quit (Remote host closed the connection) 2018-11-18T20:20:44Z fraxamo quit (Quit: Leaving) 2018-11-18T20:29:45Z permagreen joined #scheme 2018-11-18T20:34:40Z robotoad joined #scheme 2018-11-18T20:34:55Z pierpal quit (Quit: Poof) 2018-11-18T20:35:13Z pierpal joined #scheme 2018-11-18T20:37:10Z InverseRhombus joined #scheme 2018-11-18T20:38:26Z bairyn is now known as ByronJohnson 2018-11-18T21:01:47Z razzy quit (Ping timeout: 240 seconds) 2018-11-18T21:07:59Z siiky quit (Quit: Leaving) 2018-11-18T21:19:08Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-18T21:20:19Z dmiles quit (Ping timeout: 246 seconds) 2018-11-18T21:31:05Z dmiles joined #scheme 2018-11-18T21:36:37Z razzy joined #scheme 2018-11-18T21:40:37Z ecraven: what exactly is string-length supposed to count? r7rs says "characters", does that mean unicode code points? 2018-11-18T21:41:01Z pjb: ecraven: unicode messes with everything. 2018-11-18T21:41:21Z wasamasa: if the implementation uses them, sure 2018-11-18T21:41:21Z pjb: ecraven: it would depend on how the implementation maps unicode code points to characters. 2018-11-18T21:41:29Z wasamasa: but it's permitted to just use the ascii subset 2018-11-18T21:42:06Z ecraven: wasamasa: so this is just "unspecified behaviour" in the end? 2018-11-18T21:42:09Z pjb: If the implementation considers that glyphs are characters, then it would have to have fat character objects, comprised of all the combining code points of a single glyph. 2018-11-18T21:42:33Z wasamasa: no, the unspecified bit is what a character ends up being 2018-11-18T21:42:40Z pjb: But most implementers are lazy and want to provide "fast" strings, so they will map unicode code points to characters, which is wrong IMO. 2018-11-18T21:43:42Z jcowan: ecraven: string-length in what standard? 2018-11-18T21:43:50Z pjb: (- (string-length s) 1) is the maximum index you can use in (string-ref s index). 2018-11-18T21:43:50Z ecraven: jcowan: r7rs ;) 2018-11-18T21:44:23Z jcowan: In R7RS, string operations are defined on characters, and the set of characters is implementation defined 2018-11-18T21:44:44Z jcowan: however, it is definitely not defined on code units (8, 16, or 32 bit entities) 2018-11-18T21:45:08Z Zaab1t quit (Quit: bye bye friends) 2018-11-18T21:45:15Z ecraven: so you just don't know what string-length will return for a given string? and it might differ between implementations, for the exact same string? 2018-11-18T21:45:24Z jcowan: no 2018-11-18T21:45:51Z jcowan: R7RS implementations can only differ in which characters are supported or not 2018-11-18T21:46:25Z ecraven: why not? ö might be encoded as two bytes, which might be read as two codepoints, which might then be canonicalised to the pre-encoded codepoint? 2018-11-18T21:46:43Z terpri quit (Ping timeout: 245 seconds) 2018-11-18T21:46:55Z ecraven: I'll rephrase, *if* an implementation claims to support unicode, will string-length return the number of codepoints in a string? 2018-11-18T21:47:37Z jcowan: Yes 2018-11-18T21:47:44Z ecraven: where does it say that in r7rs? 2018-11-18T21:47:48Z jcowan: You can subset Unicode but you can't break it 2018-11-18T21:48:09Z ecraven: (also ö cannot be encoded as two bytes, s/bytes/codepoints/) 2018-11-18T21:48:09Z pjb: "supporting unicode" doesn't mean HOW you support it. 2018-11-18T21:48:42Z ecraven: jcowan: so an implementation that maps "character" to mean "glyph" (not "codepoint") would not be conforming to r7rs? 2018-11-18T21:49:04Z jcowan: Yes 2018-11-18T21:49:08Z jcowan: still looking for citation 2018-11-18T21:49:41Z ecraven: and "grapheme cluster" is the what mean by "glyph" 2018-11-18T21:49:46Z ecraven: more thinking, less typing 2018-11-18T21:49:51Z pjb: Yes. 2018-11-18T21:50:58Z jcowan: note that there are two kinds of grapheme clusters in Unicode, and there are several cases in which the user idea of a glyph doesn't match either of them 2018-11-18T21:51:39Z ecraven: unrelated, but does any Scheme support something like a "string of grapheme clusters"? 2018-11-18T21:52:18Z jcowan: More specifically, an implementation (per the beginning of 6.6) can support anything it wants to as non-Unicode characters (codes above 200000), including glyphs, or for that matter texts in gutenberg.org 2018-11-18T21:52:36Z jcowan: but no system does that 2018-11-18T21:52:47Z jcowan: and a string is a sequence of characters per the beginning of 6.7 2018-11-18T21:55:03Z ecraven: thanks for explaining 2018-11-18T21:55:27Z ecraven: so in the end, it comes down to whatever read-string (or similar functions) do? 2018-11-18T21:55:59Z ecraven: i.e. conversion from bytes to characters 2018-11-18T21:56:25Z jcowan: yes, the encoding is implementation specific 2018-11-18T21:58:56Z jcowan: If I had my way strings would be primitive, as in Python, rather than a sequence of characters 2018-11-18T21:59:06Z jcowan: (just as an integer is not considered a sequence of digit objects) 2018-11-18T21:59:37Z ecraven: so it would be conforming to "read" #x75 #x308 (u + combining diaresis) as #xfc ü 2018-11-18T22:00:12Z ecraven: so you can only extract substrings from strings? (I've never used python with strings. isn't that the language with lots of separate but each not entirely useful string classes?) 2018-11-18T22:00:39Z ecraven: I mean, don't you need some way to convert between characters and strings? 2018-11-18T22:03:18Z jcowan: Python 2 has strings that contain only Latin-1 characters and can be treated as bytevectors, plus Unicode strings; Python 3 has (Unicode) strings and bytevectors. 2018-11-18T22:03:34Z jcowan: (Haskell is the one with lots of string classes) 2018-11-18T22:03:54Z jcowan: In Python a character is just a term for a minimal substring 2018-11-18T22:06:33Z jcowan: In a Unicode world there is no unique way to cut strings into most-useful units, it's just that codepoints are the smallest possible useful unit. 2018-11-18T22:06:59Z nisstyre: jcowan: I mean other languages have different types for bytestrings and regular text too 2018-11-18T22:07:02Z ecraven: doesn't that mean that "character" is also a rather useless data type? 2018-11-18T22:07:09Z nisstyre: Haskell just has two main "text" types (String and Text) 2018-11-18T22:07:12Z jcowan: Indeed 2018-11-18T22:07:36Z nisstyre: idk, people like to complain about minor stuff like that 2018-11-18T22:07:45Z pjb: It just is more complex than just an small code. 2018-11-18T22:09:10Z jcowan: woops, ambiguous. ecraven: indeed. nisstyre: String and then lazy and eager Text, are all "sequences of characters" 2018-11-18T22:09:31Z nisstyre: I really like the idea of OverloadedStrings too, other languages could do the same thing 2018-11-18T22:09:41Z nisstyre: it works better with type inference though 2018-11-18T22:11:04Z nisstyre: ecraven: instead of characters it would be bytes that you work with on that scale 2018-11-18T22:11:13Z nisstyre: and that would only be for certain things like binary protocols 2018-11-18T22:11:24Z nisstyre: or writing a lexer 2018-11-18T22:11:39Z ecraven: well, there is a legitimate use for codepoints, rather than bytes, but "character" seems rather complicated :-/ 2018-11-18T22:13:25Z nly joined #scheme 2018-11-18T22:14:17Z jcowan: With a very few exceptions, characters are in practice codepoints, certainly in R7RS. Chicken by default does not make them so even in R7RS mode, but there is a utf8 library to handle them 2018-11-18T22:15:04Z jcowan: As for grapheme clusters, besides legacy and extended GCs there is an explicit expectation for per-language tailoring 2018-11-18T22:15:10Z jcowan: see http://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries for the nitty gritty 2018-11-18T22:17:23Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-18T22:21:13Z nly quit (Ping timeout: 246 seconds) 2018-11-18T22:25:25Z Riastradh: Shoulda made strings have opaque cursors. Don't privilege indexing by code points. 2018-11-18T22:45:01Z jcowan: We privilege it for the same reason that linguists privilege phonemes. They aren't perfect, but they let you build up higher-level constructs ad libitum, and there is rarely much disagreement about the list. 2018-11-18T22:45:19Z jcowan: Or, I might say, masons privilege bricks. 2018-11-18T22:47:02Z Riastradh: I like bytes. 2018-11-18T22:48:01Z jcowan: I like bricks. My house is built of them (third little pig style). 2018-11-18T22:48:19Z jcowan: Occasionally a half a brick is useful, but most of the time bricks are atomic. 2018-11-18T22:56:48Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-18T23:01:40Z lritter quit (Remote host closed the connection) 2018-11-18T23:04:22Z fmnt joined #scheme 2018-11-18T23:29:35Z InverseRhombus quit (Remote host closed the connection) 2018-11-18T23:29:47Z grettke joined #scheme 2018-11-18T23:35:00Z daviid joined #scheme 2018-11-18T23:35:24Z daviid is now known as Guest12963 2018-11-18T23:35:39Z Guest12963 is now known as daviid 2018-11-18T23:40:47Z keep_learning joined #scheme 2018-11-18T23:41:15Z klovett_ joined #scheme 2018-11-18T23:42:54Z silas quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-18T23:43:06Z silas joined #scheme 2018-11-18T23:43:09Z fmnt quit (Quit: Leaving.) 2018-11-18T23:44:31Z klovett quit (Ping timeout: 246 seconds) 2018-11-19T00:06:26Z jonaslund: In some ways i think the utf-8 everywhere idea was the right move, much of the time the stuff that you want to interpret/parse is just discrete chars (usually in ascii space for encodings) and the rest should just be treated as opaque data-sequences anyhow (so being a codepoint or glyphs doesn't really matter) 2018-11-19T00:07:12Z jonaslund: (In so many cases the text goes from one end of being in a text-box to the other end being displayed by some rendering system) 2018-11-19T00:08:12Z jonaslund: now of course this varies between fields but i have a feeling that a majority of the programming done doesn't really need to process user-produced/consumed text 2018-11-19T00:20:05Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-19T00:28:14Z InverseRhombus joined #scheme 2018-11-19T00:30:51Z dkmueller quit (Quit: Lost terminal) 2018-11-19T00:33:17Z dTal: there's no easy way out 2018-11-19T00:35:34Z Zipheir quit (Remote host closed the connection) 2018-11-19T00:36:45Z dTal: traditional assumptions about what you can do with text and what a 'character' means just fly out the window when you introduce code points that eg make all subsequent text right to left 2018-11-19T00:40:10Z elderK joined #scheme 2018-11-19T00:44:49Z jonaslund: dTal: right, and as unicode is an evolving standard of data, tying language semantics to evolution of said data has made everything into a mess 2018-11-19T00:45:19Z dTal: I feel like maybe Unicode tries to do too much 2018-11-19T00:45:25Z jonaslund: we should've learned from the Java/C#/win32 descision of making everything 16bit 2018-11-19T00:45:46Z skapata quit (Read error: Connection reset by peer) 2018-11-19T00:45:54Z dTal: but on the other hand it's not clear what the layering should be, or whether that would just make an even bigger mess 2018-11-19T00:45:58Z skapata joined #scheme 2018-11-19T00:46:44Z jonaslund: i don't mind it, but i think that the task of iterating/manipulating unicode data should be left to libraries/algorithms that are not language level artifacts 2018-11-19T00:47:12Z dTal: yeah, variable length characters was a misstep I agree 2018-11-19T00:47:26Z dTal: in practice anywhere that space matters compression is used anyway 2018-11-19T00:48:05Z dTal: but when Unicode was invented 16 bits felt bigger I guess 2018-11-19T00:48:13Z jonaslund: actually i think that might've been a blessing in disguise 2018-11-19T00:48:26Z dTal: mind you 16 bits still isn't anywhere near enough 2018-11-19T00:48:37Z dTal: there's over a million code points 2018-11-19T00:52:33Z jao quit (Remote host closed the connection) 2018-11-19T00:55:02Z jao joined #scheme 2018-11-19T01:11:08Z gwatt quit (Quit: WeeChat 2.2) 2018-11-19T01:14:26Z gwatt joined #scheme 2018-11-19T01:18:41Z klovett joined #scheme 2018-11-19T01:21:27Z klovett_ quit (Ping timeout: 240 seconds) 2018-11-19T01:23:03Z terpri joined #scheme 2018-11-19T01:46:36Z afterK joined #scheme 2018-11-19T01:55:51Z pierpal quit (Quit: Poof) 2018-11-19T01:56:10Z pierpal joined #scheme 2018-11-19T01:58:03Z X-Scale: So, http://www.cs.indiana.edu/scheme-repository/ seems to be gone, but some pages are still on google cache. Must have been moved or deleted a few days ago. 2018-11-19T01:59:34Z X-Scale: :/ 2018-11-19T02:06:51Z X-Scale: the ftp dir still seems to be online though: ftp://ftp.cs.indiana.edu/pub/scheme-repository/ 2018-11-19T02:09:22Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-19T02:11:10Z daviid quit (Ping timeout: 246 seconds) 2018-11-19T02:13:44Z jcowan: Unfortunately, Java 1.0 came out one year before Unicode space was extended to #x10FFFF. 2018-11-19T02:14:05Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T02:23:01Z perplexity joined #scheme 2018-11-19T02:23:13Z perplexity left #scheme 2018-11-19T02:23:21Z perplexity joined #scheme 2018-11-19T02:24:26Z perplexity: always remembered this channel's user base being much bigger 2018-11-19T02:28:09Z Riastradh: X-Scale: Someone has to choose to archive it for it to remain... 2018-11-19T02:32:58Z jcowan: http://web.archive.org/web/20180928122441/https://www.cs.indiana.edu/scheme-repository/ 2018-11-19T02:34:08Z jcowan: Which claims that the last addition was twenty years ago. But the IA will preserve it. 2018-11-19T02:44:35Z robotoad quit (Quit: robotoad) 2018-11-19T02:48:02Z lambda-11235 joined #scheme 2018-11-19T02:49:53Z perplexity left #scheme 2018-11-19T02:53:22Z klovett_ joined #scheme 2018-11-19T02:54:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-19T02:58:31Z robotoad joined #scheme 2018-11-19T03:05:55Z grettke joined #scheme 2018-11-19T03:08:51Z bitmapper quit (Ping timeout: 252 seconds) 2018-11-19T03:17:58Z klovett_ quit (Remote host closed the connection) 2018-11-19T03:38:26Z klovett joined #scheme 2018-11-19T03:38:38Z ByronJohnson quit (Ping timeout: 272 seconds) 2018-11-19T03:42:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-19T03:48:17Z klovett joined #scheme 2018-11-19T03:58:00Z klovett quit (Remote host closed the connection) 2018-11-19T03:58:16Z klovett joined #scheme 2018-11-19T03:59:48Z elderK quit (Quit: Connection closed for inactivity) 2018-11-19T04:01:14Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T04:09:28Z cortisol joined #scheme 2018-11-19T04:12:07Z cortisol quit (Client Quit) 2018-11-19T04:12:38Z wigust quit (Ping timeout: 268 seconds) 2018-11-19T04:17:44Z wigust joined #scheme 2018-11-19T04:21:38Z bairyn joined #scheme 2018-11-19T05:02:00Z klovett quit (Remote host closed the connection) 2018-11-19T05:07:16Z f8l quit (Remote host closed the connection) 2018-11-19T05:09:00Z f8l joined #scheme 2018-11-19T05:14:54Z maximjaffe quit (Ping timeout: 272 seconds) 2018-11-19T05:15:27Z gabot quit (Ping timeout: 240 seconds) 2018-11-19T05:15:56Z gabot joined #scheme 2018-11-19T05:16:06Z cortisol joined #scheme 2018-11-19T05:16:14Z cortisol quit (Client Quit) 2018-11-19T05:18:20Z afterK is now known as elderK 2018-11-19T05:23:39Z klovett joined #scheme 2018-11-19T05:33:25Z klovett quit (Ping timeout: 268 seconds) 2018-11-19T05:34:20Z klovett joined #scheme 2018-11-19T05:36:34Z jao quit (Remote host closed the connection) 2018-11-19T05:39:38Z TheGreekOwl joined #scheme 2018-11-19T05:46:40Z klovett quit (Ping timeout: 244 seconds) 2018-11-19T06:24:25Z DGASAU joined #scheme 2018-11-19T06:24:46Z Inline quit (Quit: Leaving) 2018-11-19T06:33:36Z robotoad quit (Quit: robotoad) 2018-11-19T06:42:20Z DGASAU quit (Read error: Connection reset by peer) 2018-11-19T06:48:25Z DGASAU joined #scheme 2018-11-19T06:49:57Z grettke joined #scheme 2018-11-19T06:51:59Z robotoad joined #scheme 2018-11-19T06:53:47Z Zenton quit (Ping timeout: 240 seconds) 2018-11-19T06:57:07Z teardown quit (Ping timeout: 246 seconds) 2018-11-19T07:22:55Z f8l quit (Remote host closed the connection) 2018-11-19T07:29:53Z f8l joined #scheme 2018-11-19T07:31:45Z razzy quit (Ping timeout: 252 seconds) 2018-11-19T07:33:52Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T07:48:47Z klovett joined #scheme 2018-11-19T07:53:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-19T07:53:49Z klovett joined #scheme 2018-11-19T07:57:31Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-19T08:02:25Z lambda-11235 quit (Quit: Bye) 2018-11-19T08:02:38Z robotoad quit (Quit: robotoad) 2018-11-19T08:02:54Z klovett quit (Ping timeout: 264 seconds) 2018-11-19T08:03:11Z robotoad joined #scheme 2018-11-19T08:07:34Z klovett joined #scheme 2018-11-19T08:07:45Z Zaab1t joined #scheme 2018-11-19T08:07:48Z robotoad quit (Ping timeout: 272 seconds) 2018-11-19T08:14:07Z civodul joined #scheme 2018-11-19T08:21:46Z klovett quit (Ping timeout: 268 seconds) 2018-11-19T08:22:46Z f8l quit (Remote host closed the connection) 2018-11-19T08:24:37Z Zaab1t quit (Ping timeout: 246 seconds) 2018-11-19T08:25:27Z tolja quit (Quit: leaving) 2018-11-19T08:26:06Z klovett joined #scheme 2018-11-19T08:26:12Z DGASAU joined #scheme 2018-11-19T08:26:56Z tolja joined #scheme 2018-11-19T08:29:40Z skapata quit (Remote host closed the connection) 2018-11-19T08:29:46Z f8l joined #scheme 2018-11-19T08:30:21Z klovett quit (Ping timeout: 252 seconds) 2018-11-19T08:36:00Z klovett joined #scheme 2018-11-19T08:38:32Z DGASAU quit (Ping timeout: 276 seconds) 2018-11-19T08:40:28Z klovett quit (Ping timeout: 252 seconds) 2018-11-19T08:45:07Z DGASAU joined #scheme 2018-11-19T08:47:44Z xkapastel joined #scheme 2018-11-19T08:49:19Z bor0 joined #scheme 2018-11-19T08:50:40Z fmnt joined #scheme 2018-11-19T08:59:05Z daviid joined #scheme 2018-11-19T08:59:28Z daviid is now known as Guest99695 2018-11-19T09:00:43Z fmnt quit (Quit: Leaving.) 2018-11-19T09:01:09Z vyzo quit (Quit: Leaving.) 2018-11-19T09:01:47Z Zaab1t joined #scheme 2018-11-19T09:03:51Z klovett joined #scheme 2018-11-19T09:07:39Z f8l quit (Remote host closed the connection) 2018-11-19T09:11:53Z f8l joined #scheme 2018-11-19T09:15:30Z Zaab1t quit (Ping timeout: 264 seconds) 2018-11-19T09:22:14Z Zaab1t joined #scheme 2018-11-19T09:22:54Z f8l quit (Remote host closed the connection) 2018-11-19T09:24:08Z f8l joined #scheme 2018-11-19T09:26:43Z Zaab1t quit (Ping timeout: 252 seconds) 2018-11-19T09:27:36Z klovett quit (Ping timeout: 272 seconds) 2018-11-19T09:32:13Z Zaab1t joined #scheme 2018-11-19T09:34:58Z bor0 quit (Quit: This computer has gone to sleep) 2018-11-19T09:38:04Z f8l quit (Remote host closed the connection) 2018-11-19T09:39:38Z DGASAU` joined #scheme 2018-11-19T09:40:16Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-19T09:40:40Z f8l joined #scheme 2018-11-19T09:41:45Z DGASAU` quit (Client Quit) 2018-11-19T09:42:31Z DGASAU joined #scheme 2018-11-19T09:50:49Z klovett joined #scheme 2018-11-19T09:52:49Z Zenton joined #scheme 2018-11-19T09:55:01Z klovett quit (Ping timeout: 250 seconds) 2018-11-19T10:19:52Z Zaab1t quit (Ping timeout: 264 seconds) 2018-11-19T10:37:16Z DGASAU` joined #scheme 2018-11-19T10:37:24Z pierpal quit (Quit: Poof) 2018-11-19T10:37:40Z pierpal joined #scheme 2018-11-19T10:38:08Z DGASAU quit (Ping timeout: 276 seconds) 2018-11-19T10:43:40Z wilfredh joined #scheme 2018-11-19T10:49:20Z razzy joined #scheme 2018-11-19T10:50:29Z Zaab1t joined #scheme 2018-11-19T11:07:33Z f8l quit (Remote host closed the connection) 2018-11-19T11:13:59Z elderK quit (Quit: WeeChat 1.9) 2018-11-19T11:14:29Z f8l joined #scheme 2018-11-19T11:15:00Z elderK joined #scheme 2018-11-19T11:15:00Z elderK quit (Changing host) 2018-11-19T11:15:00Z elderK joined #scheme 2018-11-19T11:15:03Z Zaab1t quit (Ping timeout: 268 seconds) 2018-11-19T11:28:25Z hugo quit (Quit: WeeChat 1.9.1) 2018-11-19T11:34:39Z ng0 joined #scheme 2018-11-19T11:34:56Z hugo joined #scheme 2018-11-19T11:41:26Z ggole joined #scheme 2018-11-19T12:01:22Z grettke joined #scheme 2018-11-19T12:04:14Z ng0 quit (Remote host closed the connection) 2018-11-19T12:05:33Z ng0 joined #scheme 2018-11-19T12:09:56Z dmiles quit (Ping timeout: 268 seconds) 2018-11-19T12:14:36Z jao joined #scheme 2018-11-19T12:20:34Z jcowan: elderK: for reference, Scheme does not have comma-dot. 2018-11-19T12:21:20Z Zaab1t joined #scheme 2018-11-19T12:23:28Z f8l quit (Remote host closed the connection) 2018-11-19T12:25:16Z f8l joined #scheme 2018-11-19T12:28:05Z acarrico joined #scheme 2018-11-19T12:28:38Z weinholt quit (Ping timeout: 276 seconds) 2018-11-19T12:29:37Z ManDay joined #scheme 2018-11-19T12:29:43Z ManDay: I found a typo! http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-14.html#node_idx_640 2018-11-19T12:29:46Z ManDay: Can I get a cookie? 2018-11-19T12:31:01Z f8l quit (Ping timeout: 246 seconds) 2018-11-19T12:37:03Z weinholt joined #scheme 2018-11-19T12:37:22Z TGO joined #scheme 2018-11-19T12:44:27Z dmiles joined #scheme 2018-11-19T12:45:50Z TGO quit (Quit: I must go, my planet needs me.) 2018-11-19T12:46:19Z lritter joined #scheme 2018-11-19T12:46:45Z lockywolf joined #scheme 2018-11-19T12:47:27Z khisanth_ quit (Ping timeout: 240 seconds) 2018-11-19T12:56:44Z jcowan gives ManDay a cookie 2018-11-19T12:56:57Z jcowan: For typos in R7RS, you get a chocolate chip pancake! 2018-11-19T12:57:33Z ManDay: wow! I haven't read a lot in it, but I'm motivated now! 2018-11-19T12:57:47Z ManDay enjoys the cookie :) 2018-11-19T13:00:17Z khisanth_ joined #scheme 2018-11-19T13:02:51Z dsp quit (Ping timeout: 252 seconds) 2018-11-19T13:07:42Z ManDay: jcowan: Can you give me the link to where this can be read conveniently? I can't seem to find it anymore 2018-11-19T13:08:18Z ecraven: https://bitbucket.org/cowan/r7rs/src/draft-10/rnrs/r7rs.pdf 2018-11-19T13:08:22Z ecraven: from www.r7rs.org 2018-11-19T13:10:52Z ManDay: Hm, no html like r6rs anywhere? 2018-11-19T13:11:16Z ManDay: It sure looks beautiful, but I can't stand PDFs personally ;-/ 2018-11-19T13:11:25Z ecraven: not sure, there's the latex sources :P 2018-11-19T13:13:02Z ecraven: I still hope one day we'll revive skribe and author rnrs in it ;D 2018-11-19T13:13:40Z ManDay: i like the r6rs html 2018-11-19T13:19:14Z klovett joined #scheme 2018-11-19T13:30:26Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T13:38:08Z maximjaffe joined #scheme 2018-11-19T13:48:48Z acarrico quit (Ping timeout: 245 seconds) 2018-11-19T13:53:31Z lockywolf_ joined #scheme 2018-11-19T13:55:43Z lockywolf quit (Ping timeout: 246 seconds) 2018-11-19T13:58:42Z jcowan: Unfortunately, the highly hacked LaTeX to HTML converter used for previous reports doesn't like the presence of inter-document links. 2018-11-19T13:58:56Z lockywolf_ quit (Ping timeout: 250 seconds) 2018-11-19T13:58:57Z jcowan: And no one has had the energy to fix it. 2018-11-19T13:59:20Z jcowan: I suppose the links could be stripped out of the TeX and then try running it. I like the HTML too, but I can't do everything. 2018-11-19T13:59:44Z pierpal quit (Quit: Poof) 2018-11-19T14:00:04Z pierpal joined #scheme 2018-11-19T14:07:36Z ogamita: jcowan: depends. No arms, no chocolate. 2018-11-19T14:07:50Z jao quit (Ping timeout: 244 seconds) 2018-11-19T14:08:54Z ng0 quit (Remote host closed the connection) 2018-11-19T14:14:03Z grettke joined #scheme 2018-11-19T14:14:22Z jcowan: I have arms. Two. 2018-11-19T14:15:26Z ManDay: jcowan: i think there is no problem with a pdf spec. seems to work fine for the C-family folks. just personally i don't like it 2018-11-19T14:15:38Z jcowan nods. 2018-11-19T14:15:47Z jcowan: The HTML is handier to find things in, but the links help. 2018-11-19T14:16:10Z ManDay: which kind of links do you mean? 2018-11-19T14:16:43Z ManDay: you mean like section links or sth? 2018-11-19T14:18:43Z ManDay: if may ask, by the way: why latex? 2018-11-19T14:19:02Z ManDay: md or especially rst seems to have been a much better choice inmo 2018-11-19T14:20:43Z ventonegro joined #scheme 2018-11-19T14:22:51Z jcowan: Scheme standards have been written in LaTex since probably R2RS. As each is derived by modifying the one before, no one wants to undergo a (possibly information losing) conversion. 2018-11-19T14:23:06Z jcowan: Yes, section links, both in the text and in the TOC 2018-11-19T14:23:41Z jcowan: The CLHS is awesome, but a little hard to get context from. 2018-11-19T14:24:09Z badkins joined #scheme 2018-11-19T14:24:39Z ecraven: also, the typographic quality of md or rst is ... debatable. if you want to achieve what r7rs has, you need to add a lot of extra information, making it not md/rst anyway 2018-11-19T14:26:30Z ManDay: ecraven: I'm totally okay with rst. I write everything in it. Contrary to latex, the markup is not a complete desaster. although, sure, the rst2html5 renderer could always be improved. 2018-11-19T14:26:49Z ManDay: what thing do you mean is missing so that it can't be described in rst appropriately? 2018-11-19T14:28:28Z ecraven: ManDay: everything that latex has, but rst doesn't... actual layout information, for example 2018-11-19T14:28:45Z ecraven: rst is for describing content, not layout 2018-11-19T14:29:05Z ManDay: ecraven: good god, yes! 2018-11-19T14:29:16Z ecraven: that's the point, sometimes, you actually *want* to describe layout :P 2018-11-19T14:29:36Z ecraven: (I'm not saying latex is ideal here, just that going to md or rst is a one-way street) 2018-11-19T14:29:51Z ManDay: why the f* would you want to concern yourself with layout? 2018-11-19T14:30:06Z ManDay: i mean sure, if the printer does a good job at it, the nicer the better 2018-11-19T14:30:27Z ManDay: but the actual document should be (almost) pure content 2018-11-19T14:30:47Z ecraven: that is debatable.. the actual layout of documents does matter, imho 2018-11-19T14:31:05Z ManDay: ecraven: if it becomes outright ugly on unreadable, sure! 2018-11-19T14:31:28Z ManDay: but if you're having beauty problems with rst2html5, i really can't relate 2018-11-19T14:31:32Z ecraven: ManDay: beyond that.. I do like beautiful typography, and I don't think that is achievable (yet) with automatic formatters for rst or md 2018-11-19T14:31:53Z ecraven: I don't know rst2html5, just saying there's no way to move from latex to rst/md without actually loosing information 2018-11-19T14:32:17Z ecraven: nothing prevents you from writing a (probably not too complex) converter from r7rs to rst/md 2018-11-19T14:32:36Z ManDay: ecraven: in technical documents, i couldn't care less about beauty. it should be plain simple and readable. and I find conflating content with style in the document a HUGE sacrifice to make just for that little bit more of beauty you get from it. 2018-11-19T14:32:57Z ecraven: ManDay: that is an entirely good opinion for you to have 2018-11-19T14:33:04Z ecraven: but I'm a bit opposed on you forcing it onto me :P 2018-11-19T14:33:28Z ecraven: I'm not saying latex is ideal, just that there is more to excellent documents than the content 2018-11-19T14:34:25Z ManDay: ecraven: agreed. i just put more importance onto the fact that binding yourself to an awful markup (latex) and mixing content and style than you, i think 2018-11-19T14:34:48Z ManDay: that said, of course i'm forcing my opinion on you! You should wanna have it any other way on IRC :-p 2018-11-19T14:34:55Z ecraven: it doesn't have to be that way with latex, you can define your own macros 2018-11-19T14:35:01Z ManDay: *shouldn't, goddamn freudian slips 2018-11-19T14:35:25Z ecraven: that's what I like about latex, as opposed to predefined markup languages.. it is an actual *language* that you can reshape and extend 2018-11-19T14:35:41Z ecraven: as opposed to just living with whatever the creator of the flavour of the day deemed useful 2018-11-19T14:36:11Z ecraven: in a way, this is what Scheme is about to me :P *I* can change the language via function and macro definitions, I'm not bound to what some compiler writer thought to be a good language 2018-11-19T14:37:40Z ManDay: ecraven: that's now how I see it. take rst, the "creator of rst" doesn't let you live with whatever layout or style they found useful. on the contrary: they explicitly leave any notion of layout from the language in the first place! 2018-11-19T14:37:52Z ManDay: latex is just one big clusterfuck for that 2018-11-19T14:38:25Z ManDay: sure, you can do anything with it (just as much as you can do anything with rst (layout wise), if you write your own rst convertor), but it's semantically dirty 2018-11-19T14:39:25Z ManDay: coming from a webdev background years back, it's still that separation of semantics and style... as if you had no CSS but mangled it all into the html 2018-11-19T14:39:30Z ManDay: I'd throw up 2018-11-19T14:40:10Z ecraven: ManDay: I disagree, the creator of rst defines what sort of abstractions you have. you cannot define your own (unless you want to fork rst). In latex, it is all the same syntax, but you can change what it means 2018-11-19T14:40:36Z ecraven: (again, not saying latex syntax is in any way sane, but it is extensible) 2018-11-19T14:40:55Z ecraven: anyway, we might just agree to disagree ;) 2018-11-19T14:41:45Z ManDay: ecraven: The point is, content-wise, there is only that many abstractions. And rst defines them. If something is actually missing, it should be added to rst. But I think content-wise, everything is there in rst (quotes, remarks, links, roc, refs, etc.) and content is king 2018-11-19T14:41:50Z qu1j0t3: LaTeX is very much designed to separate style and semantics, but it can be misused ofc; so can css (and usually is) 2018-11-19T14:42:14Z ManDay: qu1j0t3: Now that's entirely new to me... 2018-11-19T14:42:26Z ecraven: ManDay: semi-related, do you know https://www-sop.inria.fr/mimosa/fp/Skribe/doc/user-2.html#Getting-Started 2018-11-19T14:42:33Z ManDay: I have seen no facilities in Latex to separate style from content, whatsoever 2018-11-19T14:42:39Z qu1j0t3: heh 2018-11-19T14:42:42Z qu1j0t3: it's basic to the design 2018-11-19T14:43:00Z qu1j0t3: are you confusing with TeX maybe? 2018-11-19T14:43:10Z ManDay: i suppose? 2018-11-19T14:43:21Z ManDay: i thought of latex as just a heavy tex 2018-11-19T14:43:29Z ecraven: ManDay: then you might want to look closer... \section{foo} does very different things depending on what document type (among the many extensions) you use. it is purely semantic, it is not related much to layout 2018-11-19T14:43:32Z InverseRhombus quit (Remote host closed the connection) 2018-11-19T14:43:34Z qu1j0t3: sure, it's higher level 2018-11-19T14:44:11Z qu1j0t3: it introduces a bunch of high level concepts that don't define visual interpretation (though of course, lower level ones can .. and one could argue the separation could be taken farther than it is) 2018-11-19T14:44:19Z ManDay: ecraven: But that's just a superficial distinction. Behind the scenes, the \section{} is just a command expanding to other shit, and other shit is being redefined to look differently. 2018-11-19T14:44:26Z qu1j0t3: but in _intention_ it was meant to provide that separation more than plain TeX 2018-11-19T14:45:07Z ecraven: ManDay: how is that relevant? to me, the user, it is semantic 2018-11-19T14:45:25Z ecraven: qu1j0t3: I'd argue that it does achieve that goal to some degree ;) 2018-11-19T14:45:30Z qu1j0t3: so would I 2018-11-19T14:45:39Z qu1j0t3: after all it's why you can produce HTML _at all_ from it 2018-11-19T14:46:03Z ecraven: for example, https://bitbucket.org/cowan/r7rs/src/4c27517de187142ad2cf4bcd8cb9199ae1e48c09/spec/procs.tex?at=draft-10&fileviewer=file-view-default is almost all semantic markup, not related to actual layout 2018-11-19T14:46:04Z rudybot: http://teensy.info/LeY7Vwq0Oe 2018-11-19T14:46:26Z qu1j0t3: ecraven: for sure. there is still room for abuse though, like css. 2018-11-19T14:46:35Z ManDay: ecraven: The point is, it is *all* contained in the document. There is no abstraction being made which would allow you to draw a line and "plug together" different styles with different contents. 2018-11-19T14:46:51Z qu1j0t3: ManDay: Yes you can 2018-11-19T14:47:00Z ecraven: ManDay: of course there is. look into latex-beamer. you write the same user-level code, and just run \usebeamertheme{...} 2018-11-19T14:47:05Z ecraven: producing totally different output 2018-11-19T14:49:14Z ManDay: Yeah, I've seen how well this works in practice. Ever noticed how the supposedly "style packages" like beamer end up throwing errors deep in their implementation (because they collided with some other package who happens to redefine shit in a manner that's not anticipated by beamer)? That's exactly the fubar behaviour you get if the underlying language (TeX) doesn't know to distinguish layers of abstraction 2018-11-19T14:49:52Z ecraven: ManDay: that is indeed a problem, but I've rarely (almost never) seen this, and imho this is not a problem in principle, but in implementation 2018-11-19T14:50:05Z ecraven: at least I *can* do this with latex, I cannot do this with md/rst/... 2018-11-19T14:50:10Z qu1j0t3: ^ 2018-11-19T14:50:31Z ManDay: i think it is a problem in principle. or rather: a different principle which distinguish content and style in the first place would make such problems inherently impossible (c.f. CSS) 2018-11-19T14:50:38Z qu1j0t3: uhhh 2018-11-19T14:50:39Z ecraven: to me, this is like comparing Scheme to Pascal, saying "the language should rightfully restrict what you can express". 2018-11-19T14:50:43Z qu1j0t3: css does not make those problems impossible 2018-11-19T14:50:54Z qu1j0t3: it's extremely easy to create css where presentation is inextricable 2018-11-19T14:51:12Z ManDay: ecraven: yeah, you can't do that with rst, fair point. but THAT's a problem in implementation, not principle. if the rst compiler could do it, you could style it just fine. it's allowed by rst. 2018-11-19T14:51:29Z ecraven: ManDay: if rst could do all this, it would *be* LaTeX (modulo syntax) 2018-11-19T14:52:01Z ecraven: if you could write macros in rst that expand to rst, that would make it a language, with all the same problems latex has 2018-11-19T14:52:07Z badkins quit (Ping timeout: 240 seconds) 2018-11-19T14:52:13Z ManDay: ecraven: No. RST (the spec) has nothing to do with that. It's about the compiler which can take adapted style. you can already do this, of course, for rst2html5 2018-11-19T14:52:41Z ecraven: ManDay: yes, so rst is just *one* language, whereas latex is *any* language you want to make it 2018-11-19T14:52:55Z ManDay: in a sense, yes 2018-11-19T14:53:06Z ManDay: contrary to scheme, it's arse-ugly tho 2018-11-19T14:53:16Z ecraven: that's the point I've been trying to make, that's why I will *always* prefer something like latex to something like rst/md 2018-11-19T14:53:21Z ecraven: ManDay: that's ok, that can be changed 2018-11-19T14:53:36Z ecraven: it's trivial to convert some s-expression-like syntax to (most of) latex 2018-11-19T14:53:58Z ecraven: look at skribe, that I linked up there.. if you don't like latex, just use your own syntax and transpile to it 2018-11-19T14:55:45Z qu1j0t3: then you can generate rst or html or w/e too ;-) 2018-11-19T14:56:58Z ManDay: ecraven: I have no interest in having a powerful language at hand to present content. my top prio is for it to be simple, elegant and readable. rst does that. latex fails in all three categories and skribe probably does better in the elegant and readable dep. 2018-11-19T14:57:23Z ManDay: yes, rst is not powerful. i don't care about that aspect. 2018-11-19T14:57:44Z ecraven: as is your prerogative. I'm just saying, not everyone thinks the same way 2018-11-19T14:57:55Z ManDay: sure 2018-11-19T14:57:57Z ecraven: and "simple, elegant and readable" are all three entirely subjective, imho 2018-11-19T14:58:26Z ManDay: apart from perhaps the elegant, i can hardly imagine you'd disagree comparing latex and rst 2018-11-19T14:58:58Z ecraven: that's not hard.. latex is simple in that it has uniform syntax. almost everything is \foo{..} 2018-11-19T14:59:06Z ecraven: rst is all over the place, how is that "simpler"? 2018-11-19T15:00:03Z razzy quit (Ping timeout: 245 seconds) 2018-11-19T15:00:18Z pjb quit (Ping timeout: 252 seconds) 2018-11-19T15:00:45Z ManDay: fair point. on the other hand, the syntax of latex is not only defined by \foo{} - not only does the language have a lot of more syntax, more importantly: most packages you use in practice deliver their own pile of commands and syntax you need to learn. 2018-11-19T15:01:04Z ecraven: indeed, but almost all of those are \foo{..} too 2018-11-19T15:01:36Z ecraven: in the end, this is the same discussion about syntax that Scheme has... is it better to have uniform syntax, or all those infix operators and whatnot.. opinions just differ on that, I think 2018-11-19T15:02:02Z ManDay: ecraven: just because they all match that very permissive pattern, doesn't make it simpler to me. this were as if I'd say "okay let's take all RST commands and wrap them in %%%RST%%% - now it's simple!" 2018-11-19T15:02:21Z smazga joined #scheme 2018-11-19T15:02:32Z ecraven: ah, but that wouldn't work, as rst does not actually delimit scope 2018-11-19T15:02:34Z ManDay: to me, it's effectively the amount of things you have to memorize to get things working. 2018-11-19T15:02:35Z ecraven: it's just implicit in the definitions 2018-11-19T15:02:55Z ManDay: true 2018-11-19T15:03:05Z badkins joined #scheme 2018-11-19T15:03:34Z ecraven: but really, in the end this probably comes down to preference... it's a bit like comparing Scheme or Forth (on the uniform syntax end of the spectrum) to APL or C++ (on the other end) 2018-11-19T15:03:43Z ecraven: both are valid choices, with very different effects 2018-11-19T15:04:41Z ecraven: though this is probably unfair to APL, it actually has very uniform syntax 2018-11-19T15:04:47Z klovett quit (Remote host closed the connection) 2018-11-19T15:05:03Z ecraven: an interesting question, actually, which language has the "most" syntax 2018-11-19T15:06:07Z gwatt: probably c++ 2018-11-19T15:06:17Z gwatt: or maybe one of the esolangs 2018-11-19T15:06:24Z ecraven: I can't think of anything that has more than C++ right now 2018-11-19T15:06:33Z gwatt: maybe scala 2018-11-19T15:07:13Z gwatt: wait, it's probably perl6 2018-11-19T15:07:28Z qu1j0t3: heh, dont forget PL/I 2018-11-19T15:07:28Z dbmikus__ joined #scheme 2018-11-19T15:08:32Z Zaab1t quit (Quit: bye bye friends) 2018-11-19T15:09:31Z ManDay: i think that's actually how C++ standard QA works: Does it have more syntax than anything every seen? Release it! 2018-11-19T15:09:53Z ManDay: god, the horrors that I've seen committted in that language... 2018-11-19T15:10:04Z ecraven: ManDay: thanks for that discussion, it made me realize better what I think about markup languages ;) 2018-11-19T15:10:21Z ManDay: ecraven: ah, yeah, like you despise all but latex? x-D 2018-11-19T15:10:30Z ManDay: no srsly, i get your point 2018-11-19T15:10:37Z ManDay: just as you said: we have different prios there 2018-11-19T15:10:55Z gwatt: https://examples.perl6.org/categories/interpreters/lisp.html 2018-11-19T15:11:09Z ManDay: and truly, latex has more beauty in the programming language sense than rst - that's not at question 2018-11-19T15:11:23Z ManDay: it's just that I don't see rst as a programming lang in the first palce 2018-11-19T15:11:25Z klovett joined #scheme 2018-11-19T15:12:31Z ecraven: yea, I've just come to see almost every problem as a programming language problem ;D 2018-11-19T15:13:13Z acarrico joined #scheme 2018-11-19T15:15:03Z razzy joined #scheme 2018-11-19T15:24:10Z klovett quit (Ping timeout: 272 seconds) 2018-11-19T15:24:55Z klovett joined #scheme 2018-11-19T15:29:09Z klovett quit (Ping timeout: 252 seconds) 2018-11-19T15:29:48Z klovett joined #scheme 2018-11-19T15:30:37Z Inline joined #scheme 2018-11-19T15:38:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-19T15:43:33Z klovett joined #scheme 2018-11-19T15:51:37Z skapata joined #scheme 2018-11-19T15:56:28Z klovett quit (Ping timeout: 272 seconds) 2018-11-19T16:01:39Z ManDay: Can we talk about Guile stacktraces, please? 2018-11-19T16:03:20Z rain1: does it not have good stack traces? 2018-11-19T16:08:28Z sethalves joined #scheme 2018-11-19T16:14:12Z lllll: anybody knows how to pass more complicated objects to chez ffi? 2018-11-19T16:14:26Z lllll: for eg. a vector of vectors 2018-11-19T16:15:44Z robotoad joined #scheme 2018-11-19T16:20:29Z klovett joined #scheme 2018-11-19T16:23:36Z oni-on-ion: hmm if containment is arbitrary/abstract, just add another level of loop 2018-11-19T16:24:02Z oni-on-ion: ie (chez:ffi *my-vec*) -> (dotimes (chez:ffi (aref *my-vec* i))) .... 2018-11-19T16:24:29Z oni-on-ion: this is tongue in cheek please dont take it too serious 2018-11-19T16:25:08Z ecraven: lllll: do you want to create a nested structure as C objects? then you need to foreign-alloc and use foreign-set! and friends to poke your data 2018-11-19T16:26:17Z lllll: ecraven: thanks, that's what i thought. I need something to multiplicate matrices faster 2018-11-19T16:26:49Z ecraven: lllll: which size matrices? 2018-11-19T16:26:57Z ecraven: otherwise, look into the flo:.. procedures 2018-11-19T16:27:06Z ecraven: but chez is slow on floats, as they are all boxed :-/ 2018-11-19T16:28:39Z oni-on-ion: what!! 2018-11-19T16:28:48Z oni-on-ion uninstalls 2018-11-19T16:29:56Z ManDay: rain1: At least I'm not able to make sense of them. Any calls into local lambdas are completely omitted. I understand that finding an appropriate textual representation of such closures might be difficult, but Guile just seems to drop them and I can't understand how this is accepted of it. 2018-11-19T16:30:06Z lllll: biggest is about 1024 * 16 2018-11-19T16:30:10Z klovett quit (Ping timeout: 268 seconds) 2018-11-19T16:30:11Z lllll: filled with floats 2018-11-19T16:30:26Z ecraven: oni-on-ion: well, "slow", looking at the benchmarks.. but it's not as fast relatively as it is at integer code 2018-11-19T16:30:36Z klovett joined #scheme 2018-11-19T16:30:56Z rain1: ManDay: well that does suck. chez also has bad stack traces 2018-11-19T16:31:01Z oni-on-ion: ecraven: ohh; philosophical! self benchmarks =) i see that guile is down on the list (from r7rs-benchmark[s]) but it has GOOPS. 2018-11-19T16:31:04Z rain1: i wonder if it can be fixed 2018-11-19T16:31:52Z ecraven: rain1: of course it can, given enough programmer time ;) 2018-11-19T16:33:01Z edw: Can anyone suggest a library development workflow for Chibi? It seems impossible to re-import a library -- or at least its definition -- without killing the REPL and restarting. Not very lispy... 2018-11-19T16:33:11Z maximjaffe quit (Ping timeout: 260 seconds) 2018-11-19T16:34:43Z ecraven: edw: it's the same for chez, it is hard to change a loaded library :-/ 2018-11-19T16:34:54Z oni-on-ion: WHAT!! *double uninstalls* 2018-11-19T16:35:02Z oni-on-ion sticks with guile. 2018-11-19T16:35:05Z klovett quit (Ping timeout: 244 seconds) 2018-11-19T16:35:38Z oni-on-ion: i'll just keep chez around for benchmarks or something. someday racket will be using it as its "real scheme backend" so maybe that would be kewl 2018-11-19T16:36:36Z ecraven: well, once your program has stabilized, chez is blazingly fast at executing it 2018-11-19T16:36:54Z ecraven: for me, it would be best to have *several* r7rs schemes, some that are good at debugging / developping, some that are good at actually running production software, ... 2018-11-19T16:37:14Z ecraven: they'd just need to all be compatible :-/ that's where I'm counting on r7rs-large 2018-11-19T16:37:16Z fmnt joined #scheme 2018-11-19T16:37:17Z ManDay: rain1: If I'd wrap every call (x) into (pk "Exiting" (x (pk "Entering")) I'd get at least something. So the compiler should do at least something along those lines. But it really escapes me how a compiler without proper stacktraces can be touted to have debuggig capabilities 2018-11-19T16:37:49Z rain1: yeah i agree that this is a big problem 2018-11-19T16:38:06Z ManDay: ok, good to hear a confirmation at least 2018-11-19T16:38:10Z rain1: maybe you could make a good example of the problem and send it to the ML, so people can easily reproduce the problem 2018-11-19T16:38:18Z Zaab1t joined #scheme 2018-11-19T16:38:21Z ManDay: that shouldn't be difficult, yeah 2018-11-19T16:38:28Z badkins quit (Ping timeout: 246 seconds) 2018-11-19T16:39:24Z ecraven: lllll: you could just foreign-alloc one array, then poke the values into it in the proper order for C 2018-11-19T16:39:51Z ecraven: unless your C code assumes some other memory layout (which is unlikely, I think) 2018-11-19T16:43:08Z edw: ecraven: Thanks for your thoughts. It makes me feel better that at least I'm not missing some obvious insight. 2018-11-19T16:44:47Z InverseRhombus joined #scheme 2018-11-19T16:45:01Z lllll: ecraven: i guess i will change whole representation to be represented as foreign data 2018-11-19T16:45:46Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-19T16:48:01Z alezost joined #scheme 2018-11-19T16:59:08Z jao joined #scheme 2018-11-19T17:01:36Z alexshendi joined #scheme 2018-11-19T17:01:38Z badkins joined #scheme 2018-11-19T17:06:15Z alexshendi quit (Read error: Connection reset by peer) 2018-11-19T17:06:50Z ng0 joined #scheme 2018-11-19T17:08:14Z klovett joined #scheme 2018-11-19T17:11:01Z badkins quit (Ping timeout: 246 seconds) 2018-11-19T17:15:23Z klovett quit (Ping timeout: 244 seconds) 2018-11-19T17:18:10Z klovett joined #scheme 2018-11-19T17:42:03Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T17:44:19Z ManDay quit (Ping timeout: 256 seconds) 2018-11-19T17:46:33Z pierpal quit (Quit: Poof) 2018-11-19T17:46:54Z pierpal joined #scheme 2018-11-19T17:49:52Z maximjaffe joined #scheme 2018-11-19T17:54:34Z badkins joined #scheme 2018-11-19T17:56:02Z dkmueller joined #scheme 2018-11-19T18:01:58Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-19T18:16:13Z pjb joined #scheme 2018-11-19T18:19:35Z grettke joined #scheme 2018-11-19T18:21:59Z mejja joined #scheme 2018-11-19T18:34:42Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T18:42:13Z zachk joined #scheme 2018-11-19T18:43:36Z zachk quit (Changing host) 2018-11-19T18:43:36Z zachk joined #scheme 2018-11-19T18:44:15Z acarrico quit (Ping timeout: 244 seconds) 2018-11-19T18:47:47Z Zenton quit (Ping timeout: 240 seconds) 2018-11-19T18:55:04Z fmnt quit (Quit: Leaving.) 2018-11-19T19:14:57Z f8l joined #scheme 2018-11-19T19:19:14Z pierpal quit (Remote host closed the connection) 2018-11-19T19:21:14Z amz3 joined #scheme 2018-11-19T19:28:51Z jao quit (Remote host closed the connection) 2018-11-19T19:37:23Z Zaab1t quit (Quit: bye bye friends) 2018-11-19T19:45:11Z jao joined #scheme 2018-11-19T19:55:52Z badkins quit (Ping timeout: 246 seconds) 2018-11-19T20:00:27Z razzy quit (Ping timeout: 268 seconds) 2018-11-19T20:02:28Z ggole quit (Ping timeout: 264 seconds) 2018-11-19T20:04:00Z civodul joined #scheme 2018-11-19T20:06:59Z ggole joined #scheme 2018-11-19T20:08:03Z ggole quit (Client Quit) 2018-11-19T20:27:07Z dbmikus__ quit (Ping timeout: 240 seconds) 2018-11-19T20:27:22Z dsp joined #scheme 2018-11-19T20:31:36Z dbmikus__ joined #scheme 2018-11-19T20:40:46Z grettke joined #scheme 2018-11-19T20:51:54Z greghendershott quit (Ping timeout: 250 seconds) 2018-11-19T20:52:07Z greghendershott joined #scheme 2018-11-19T20:52:11Z vyzo joined #scheme 2018-11-19T20:55:51Z dkmueller quit (Quit: Lost terminal) 2018-11-19T21:14:17Z klovett_ joined #scheme 2018-11-19T21:17:51Z klovett quit (Ping timeout: 260 seconds) 2018-11-19T21:23:05Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T21:30:27Z fmnt joined #scheme 2018-11-19T21:30:29Z fmnt quit (Changing host) 2018-11-19T21:30:29Z fmnt joined #scheme 2018-11-19T21:40:31Z lllll: ecraven: i guess i will change whole representation to be represented as foreign data 2018-11-19T21:41:11Z lllll: you cant pass non-base ftypes 2018-11-19T21:41:25Z lllll: to or from foreign functions 2018-11-19T21:41:37Z acarrico joined #scheme 2018-11-19T21:42:03Z gwatt: you should be able to 2018-11-19T21:43:14Z gwatt: a while ago, courtesy of mflatt, structs/unions are supported as arguments 2018-11-19T21:44:04Z lllll: I get exception: invalid (non-base) foreign-procedure result ftype 2018-11-19T21:44:33Z lllll: when trying to define foreign procedure with some ftype 2018-11-19T21:46:00Z gwatt: what version of chez? 2018-11-19T21:46:07Z lllll: 9.5.1 2018-11-19T21:46:17Z lllll: ok, now i see you neeed to use special form for that 2018-11-19T21:46:44Z lllll: (& ftype) 2018-11-19T21:46:48Z gwatt: ah 2018-11-19T21:48:21Z Zenton joined #scheme 2018-11-19T21:49:07Z fmnt quit (Quit: Leaving.) 2018-11-19T21:53:31Z badkins joined #scheme 2018-11-19T21:54:19Z badkins_ joined #scheme 2018-11-19T21:58:01Z badkins quit (Ping timeout: 252 seconds) 2018-11-19T21:58:02Z Inline quit (Read error: Connection reset by peer) 2018-11-19T21:59:07Z rain1: https://www.cs.purdue.edu/homes/rompf/papers/cong-preprint201811.pdf this might be interesting to compiler people 2018-11-19T22:00:06Z grettke joined #scheme 2018-11-19T22:14:55Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-19T22:30:19Z oni-on-ion: can we get some unboxed floats 2018-11-19T22:32:48Z qu1j0t3: then they just rattle around inside the truck 2018-11-19T22:33:15Z oni-on-ion: heheh =) 2018-11-19T22:33:37Z oni-on-ion: also a good point though ty 2018-11-19T22:34:06Z badkins joined #scheme 2018-11-19T22:34:07Z aeth quit (Ping timeout: 268 seconds) 2018-11-19T22:34:22Z terpri_ joined #scheme 2018-11-19T22:34:24Z quipa_ joined #scheme 2018-11-19T22:34:43Z cozachk joined #scheme 2018-11-19T22:35:55Z mario-go` joined #scheme 2018-11-19T22:35:59Z aeth joined #scheme 2018-11-19T22:38:30Z niklasl2 joined #scheme 2018-11-19T22:38:46Z amoe_ joined #scheme 2018-11-19T22:38:47Z reverse_light joined #scheme 2018-11-19T22:39:47Z ravndal quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z badkins_ quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z maximjaffe quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z terpri quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z emacsomancer quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z amoe quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z rain1 quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z zachk quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z reverse_1ight quit (Ping timeout: 268 seconds) 2018-11-19T22:39:47Z niklasl quit (Ping timeout: 268 seconds) 2018-11-19T22:39:48Z qu1j0t3 quit (Ping timeout: 268 seconds) 2018-11-19T22:39:48Z mario-goulart quit (Ping timeout: 268 seconds) 2018-11-19T22:39:48Z bug2000 quit (Ping timeout: 268 seconds) 2018-11-19T22:39:50Z omtrent joined #scheme 2018-11-19T22:40:11Z emacsomancer joined #scheme 2018-11-19T22:40:29Z bug2000 joined #scheme 2018-11-19T22:41:01Z qu1j0t3 joined #scheme 2018-11-19T22:43:29Z rain1 joined #scheme 2018-11-19T22:49:25Z cozachk quit (Quit: Leaving) 2018-11-19T22:49:53Z zachk joined #scheme 2018-11-19T22:51:03Z elderK quit (Quit: WeeChat 1.9) 2018-11-19T22:51:21Z zachk quit (Changing host) 2018-11-19T22:51:21Z zachk joined #scheme 2018-11-19T22:51:27Z zbigniew joined #scheme 2018-11-19T22:53:19Z elderK joined #scheme 2018-11-19T22:53:19Z elderK quit (Changing host) 2018-11-19T22:53:19Z elderK joined #scheme 2018-11-19T22:55:44Z debsan quit (Ping timeout: 272 seconds) 2018-11-19T22:56:19Z debsan joined #scheme 2018-11-19T22:56:19Z debsan quit (Changing host) 2018-11-19T22:56:19Z debsan joined #scheme 2018-11-19T22:58:29Z elderK quit (Ping timeout: 250 seconds) 2018-11-19T22:59:17Z civodul quit (Remote host closed the connection) 2018-11-19T23:00:40Z elderK joined #scheme 2018-11-19T23:00:40Z elderK quit (Changing host) 2018-11-19T23:00:40Z elderK joined #scheme 2018-11-19T23:14:40Z grettke joined #scheme 2018-11-19T23:15:15Z smazga quit (Quit: leaving) 2018-11-19T23:17:34Z TheGreekOwl quit (Ping timeout: 244 seconds) 2018-11-19T23:55:47Z quipa_ quit (Ping timeout: 240 seconds) 2018-11-20T00:01:54Z pjb quit (Ping timeout: 252 seconds) 2018-11-20T00:01:56Z robotoad quit (Quit: robotoad) 2018-11-20T00:08:49Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-20T00:18:40Z rain1: hello 2018-11-20T00:30:01Z edw: Greetings. 2018-11-20T00:38:00Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T01:05:13Z dbmikus__ quit (Quit: WeeChat 2.3) 2018-11-20T01:20:00Z klovett joined #scheme 2018-11-20T01:22:34Z zachk quit (Quit: Leaving) 2018-11-20T01:23:43Z klovett_ quit (Ping timeout: 252 seconds) 2018-11-20T01:28:13Z lambda-11235 joined #scheme 2018-11-20T01:30:38Z bairyn quit (Remote host closed the connection) 2018-11-20T01:35:47Z acarrico quit (Ping timeout: 240 seconds) 2018-11-20T01:41:02Z lritter quit (Ping timeout: 272 seconds) 2018-11-20T01:41:10Z lritter_ joined #scheme 2018-11-20T01:45:06Z skapata quit (Remote host closed the connection) 2018-11-20T01:50:07Z lritter_ quit (Ping timeout: 252 seconds) 2018-11-20T01:53:11Z klovett_ joined #scheme 2018-11-20T01:56:41Z klovett quit (Ping timeout: 260 seconds) 2018-11-20T02:10:50Z grettke joined #scheme 2018-11-20T02:16:57Z bairyn joined #scheme 2018-11-20T02:31:40Z acarrico joined #scheme 2018-11-20T03:12:19Z jao quit (Ping timeout: 246 seconds) 2018-11-20T03:15:07Z robotoad joined #scheme 2018-11-20T03:26:21Z mejja: rudybot, eval (log (make-rectangular (/ 1. 0.) (/ 1. 0.))) 2018-11-20T03:26:32Z rudybot: mejja: error: with-limit: out of time 2018-11-20T03:26:57Z mejja: rudybot, eval (log +inf.0+inf.0i) 2018-11-20T03:27:01Z rudybot: mejja: your sandbox is ready 2018-11-20T03:27:01Z rudybot: mejja: ; Value: +inf.0+0.7853981633974483i 2018-11-20T03:27:43Z mejja: Riastradh, (log +inf.0+inf.0i) => ;Value: +nan.0+.7853981633974483i 2018-11-20T03:30:43Z mejja quit (Quit: mejja) 2018-11-20T03:39:39Z dkmueller joined #scheme 2018-11-20T03:50:48Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T03:51:24Z grettke joined #scheme 2018-11-20T04:02:24Z acarrico quit (Ping timeout: 252 seconds) 2018-11-20T04:06:23Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T04:09:22Z grettke joined #scheme 2018-11-20T04:13:44Z kjak quit (Ping timeout: 276 seconds) 2018-11-20T04:15:15Z bairyn is now known as ByronJohnson 2018-11-20T04:16:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T04:20:50Z Inline joined #scheme 2018-11-20T04:22:19Z elderK quit (Quit: WeeChat 1.9) 2018-11-20T04:22:24Z Inline quit (Read error: Connection reset by peer) 2018-11-20T04:22:50Z Inline joined #scheme 2018-11-20T04:23:44Z elderK joined #scheme 2018-11-20T04:24:08Z ByronJohnson quit (Remote host closed the connection) 2018-11-20T04:30:20Z elderK quit (Quit: WeeChat 1.9) 2018-11-20T04:34:11Z elderK joined #scheme 2018-11-20T04:35:03Z elderK quit (Client Quit) 2018-11-20T04:35:23Z elderK joined #scheme 2018-11-20T04:36:10Z elderK quit (Client Quit) 2018-11-20T04:36:30Z elderK joined #scheme 2018-11-20T04:37:22Z elderK quit (Client Quit) 2018-11-20T04:37:38Z elderK joined #scheme 2018-11-20T04:41:09Z elderK quit (Client Quit) 2018-11-20T04:41:23Z elderK joined #scheme 2018-11-20T04:41:44Z elderK quit (Client Quit) 2018-11-20T04:42:58Z elderK joined #scheme 2018-11-20T04:43:39Z elderK quit (Client Quit) 2018-11-20T04:43:56Z elderK joined #scheme 2018-11-20T04:44:42Z elderK quit (Client Quit) 2018-11-20T04:44:58Z elderK joined #scheme 2018-11-20T04:45:10Z mario-go` quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2018-11-20T04:45:42Z mario-goulart joined #scheme 2018-11-20T04:47:26Z elderK quit (Client Quit) 2018-11-20T04:47:42Z elderK joined #scheme 2018-11-20T04:48:43Z dkmueller quit (Quit: Lost terminal) 2018-11-20T04:49:24Z pierpal joined #scheme 2018-11-20T04:55:59Z wigust quit (Ping timeout: 244 seconds) 2018-11-20T04:57:33Z wigust joined #scheme 2018-11-20T05:14:27Z kjak joined #scheme 2018-11-20T05:33:42Z bairyn joined #scheme 2018-11-20T05:34:21Z Inline quit (Quit: Leaving) 2018-11-20T05:54:15Z pjb joined #scheme 2018-11-20T05:55:07Z cross quit (Quit: Lost terminal) 2018-11-20T06:02:01Z klovett_ quit (Remote host closed the connection) 2018-11-20T06:10:56Z Ober quit (Quit: Emacs must have died) 2018-11-20T06:19:40Z razzy joined #scheme 2018-11-20T06:20:16Z klovett joined #scheme 2018-11-20T06:23:46Z grettke joined #scheme 2018-11-20T06:24:39Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T06:25:18Z klovett joined #scheme 2018-11-20T06:32:51Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T06:33:55Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T06:39:41Z klovett joined #scheme 2018-11-20T06:47:03Z klovett quit (Remote host closed the connection) 2018-11-20T06:47:19Z klovett joined #scheme 2018-11-20T07:12:23Z amz3 quit (Ping timeout: 244 seconds) 2018-11-20T07:12:24Z pierpal quit (Quit: Poof) 2018-11-20T07:12:44Z pierpal joined #scheme 2018-11-20T07:12:53Z lockywolf_ joined #scheme 2018-11-20T07:19:34Z lockywolf_ quit (Remote host closed the connection) 2018-11-20T07:19:56Z lockywolf_ joined #scheme 2018-11-20T07:25:30Z dkmueller joined #scheme 2018-11-20T07:48:47Z TheGreekOwl joined #scheme 2018-11-20T07:58:22Z lockywolf_ quit (Ping timeout: 250 seconds) 2018-11-20T08:02:00Z klovett quit (Remote host closed the connection) 2018-11-20T08:04:57Z kjak quit (Ping timeout: 252 seconds) 2018-11-20T08:06:56Z klovett joined #scheme 2018-11-20T08:10:14Z civodul joined #scheme 2018-11-20T08:11:05Z dkmueller quit (Quit: Lost terminal) 2018-11-20T08:11:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-20T08:11:17Z dkmueller joined #scheme 2018-11-20T08:16:34Z klovett joined #scheme 2018-11-20T08:17:46Z lambda-11235 quit (Quit: Bye) 2018-11-20T08:21:15Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T08:25:34Z klovett joined #scheme 2018-11-20T08:29:53Z klovett quit (Ping timeout: 244 seconds) 2018-11-20T08:34:52Z lockywolf joined #scheme 2018-11-20T08:35:14Z klovett joined #scheme 2018-11-20T08:41:25Z bor0 joined #scheme 2018-11-20T08:44:02Z robotoad quit (Quit: robotoad) 2018-11-20T08:44:30Z klovett quit (Ping timeout: 268 seconds) 2018-11-20T08:45:39Z akkad joined #scheme 2018-11-20T08:48:59Z jp quit (Quit: https://ptpb.pw/~docrivers.gif) 2018-11-20T08:49:11Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-20T08:59:53Z vyzo quit (Quit: Leaving.) 2018-11-20T09:01:42Z dkmueller quit (Ping timeout: 264 seconds) 2018-11-20T09:10:58Z keep_learning quit (Remote host closed the connection) 2018-11-20T09:11:37Z jp joined #scheme 2018-11-20T09:17:59Z Zaab1t joined #scheme 2018-11-20T09:22:19Z klovett joined #scheme 2018-11-20T09:28:46Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T09:31:42Z Riastradh: jcowan: There is a mistake in SRFI 144: flasinh is described as `arcsinh x' rather than `arsinh x', &c. 2018-11-20T09:43:54Z klovett joined #scheme 2018-11-20T09:44:23Z lockywolf_ joined #scheme 2018-11-20T09:45:50Z lockywolf quit (Ping timeout: 250 seconds) 2018-11-20T09:48:38Z klovett quit (Ping timeout: 268 seconds) 2018-11-20T09:49:43Z eMBee quit (Ping timeout: 252 seconds) 2018-11-20T09:49:56Z lockywolf joined #scheme 2018-11-20T09:50:56Z lockywolf_ quit (Ping timeout: 260 seconds) 2018-11-20T09:55:28Z lockywolf quit (Ping timeout: 245 seconds) 2018-11-20T09:56:03Z eMBee joined #scheme 2018-11-20T10:02:52Z klovett joined #scheme 2018-11-20T10:05:51Z civodul joined #scheme 2018-11-20T10:07:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-20T10:14:32Z Zaab1t quit (Ping timeout: 268 seconds) 2018-11-20T10:23:44Z mejja joined #scheme 2018-11-20T10:24:51Z mejja: Riastradh, Gnu MPC https://gforge.inria.fr/scm/browser.php?group_id=131 2018-11-20T10:25:27Z mejja: http://www.multiprecision.org/mpc/development.html 2018-11-20T10:26:23Z jao joined #scheme 2018-11-20T10:36:00Z gravicappa joined #scheme 2018-11-20T10:36:06Z lritter_ joined #scheme 2018-11-20T10:41:09Z dkmueller joined #scheme 2018-11-20T10:43:46Z lockywolf joined #scheme 2018-11-20T10:48:05Z lockywolf_ joined #scheme 2018-11-20T10:50:24Z lockywolf quit (Ping timeout: 250 seconds) 2018-11-20T10:54:37Z TheGreekOwl quit (Ping timeout: 268 seconds) 2018-11-20T10:55:26Z ng0 joined #scheme 2018-11-20T11:01:52Z dpk quit (Ping timeout: 264 seconds) 2018-11-20T11:03:39Z mejja quit (Quit: mejja) 2018-11-20T11:10:10Z dpk joined #scheme 2018-11-20T11:10:12Z angelds joined #scheme 2018-11-20T11:32:51Z dkmueller quit (Ping timeout: 268 seconds) 2018-11-20T11:34:05Z dkmueller joined #scheme 2018-11-20T11:36:25Z fmnt joined #scheme 2018-11-20T12:00:34Z quipa_ joined #scheme 2018-11-20T12:00:49Z angelds left #scheme 2018-11-20T12:02:49Z pjb quit (Ping timeout: 252 seconds) 2018-11-20T12:08:54Z klovett joined #scheme 2018-11-20T12:09:44Z maximjaffe joined #scheme 2018-11-20T12:11:40Z bor0 quit (Quit: Leaving) 2018-11-20T12:11:42Z maximjaffe quit (Read error: Connection reset by peer) 2018-11-20T12:12:10Z quipa_ quit (Ping timeout: 252 seconds) 2018-11-20T12:13:16Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T12:20:30Z fmnt quit (Quit: Leaving.) 2018-11-20T12:39:40Z dkmueller quit (Ping timeout: 252 seconds) 2018-11-20T12:40:56Z Zaab1t joined #scheme 2018-11-20T12:41:26Z dkmueller joined #scheme 2018-11-20T12:54:36Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-20T12:54:59Z DGASAU joined #scheme 2018-11-20T12:59:27Z skapata joined #scheme 2018-11-20T13:13:22Z DGASAU quit (Read error: Connection reset by peer) 2018-11-20T13:13:36Z jcowan: Riastradh: SRFI 144 asinh is intended to do the same thing as the math.h function of the same name, which is defined as "inverse hyperbolic sine". That's the authoritative definition. 2018-11-20T13:16:20Z DGASAU joined #scheme 2018-11-20T13:17:15Z ng0 quit (Ping timeout: 256 seconds) 2018-11-20T13:19:35Z Zaab1t quit (Quit: bye bye friends) 2018-11-20T13:21:04Z fmnt joined #scheme 2018-11-20T13:22:41Z DGASAU quit (Read error: Connection reset by peer) 2018-11-20T13:26:06Z ggole joined #scheme 2018-11-20T13:26:19Z dkmueller quit (Ping timeout: 268 seconds) 2018-11-20T13:31:08Z ng0 joined #scheme 2018-11-20T13:31:53Z alezost joined #scheme 2018-11-20T13:33:01Z wigust quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-20T13:33:43Z lockywolf_ quit (Ping timeout: 268 seconds) 2018-11-20T13:35:05Z dkmueller joined #scheme 2018-11-20T13:35:37Z gravicappa quit (Remote host closed the connection) 2018-11-20T13:37:16Z dkmueller quit (Client Quit) 2018-11-20T13:38:58Z catonano joined #scheme 2018-11-20T13:45:49Z klovett joined #scheme 2018-11-20T13:54:57Z fmnt quit (Quit: Leaving.) 2018-11-20T14:01:59Z klovett quit (Remote host closed the connection) 2018-11-20T14:05:29Z klovett joined #scheme 2018-11-20T14:07:42Z klovett quit (Remote host closed the connection) 2018-11-20T14:07:58Z klovett joined #scheme 2018-11-20T14:10:30Z klovett_ joined #scheme 2018-11-20T14:12:37Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T14:22:03Z siraben: rudybot: 2018-11-20T14:22:15Z siraben: rudybot, eval (/ 1.7 10) 2018-11-20T14:22:26Z rudybot: siraben: error: with-limit: out of time 2018-11-20T14:22:35Z siraben: Hm 2018-11-20T14:39:01Z elderK quit (Ping timeout: 252 seconds) 2018-11-20T14:40:50Z elderK joined #scheme 2018-11-20T14:41:02Z gwatt: rudybot takes a minute to spin up after idling. dunno why 2018-11-20T14:48:46Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-20T14:48:54Z acarrico joined #scheme 2018-11-20T14:53:50Z Inline joined #scheme 2018-11-20T15:04:52Z confusedwanderer joined #scheme 2018-11-20T15:28:31Z elderK quit (Quit: WeeChat 1.9) 2018-11-20T15:30:24Z cross joined #scheme 2018-11-20T15:39:30Z Inline quit (Remote host closed the connection) 2018-11-20T15:44:00Z bairyn is now known as ByronJohnson 2018-11-20T15:45:02Z grettke joined #scheme 2018-11-20T15:48:45Z Inline joined #scheme 2018-11-20T15:52:42Z sethalves quit (Ping timeout: 252 seconds) 2018-11-20T15:54:50Z sethalves joined #scheme 2018-11-20T16:00:57Z Zaab1t joined #scheme 2018-11-20T16:17:50Z klovett_ quit (Remote host closed the connection) 2018-11-20T16:24:30Z robotoad joined #scheme 2018-11-20T16:31:32Z lavaflow quit (Read error: Connection reset by peer) 2018-11-20T16:32:35Z lavaflow joined #scheme 2018-11-20T16:35:49Z Riastradh: jcowan: `Inverse hyperbolic sine' is fine. What's wrong is describing it as `arcsinh', suggesting that it gives the arclength that yielded the specified sinh, rather than the hyperbolic area that yielded the specified sinh. 2018-11-20T16:40:40Z klovett joined #scheme 2018-11-20T16:43:38Z jcowan: While I concede that some people use arsinh, I am not prepared to defy the uniform usage of all mathematical programming languages hitherto. I can be pedantic, but not that pedantic. Arcsinh is blessed by usage. 2018-11-20T16:44:22Z qu1j0t3 googles `normalisation of deviance' 2018-11-20T16:45:15Z klovett quit (Ping timeout: 252 seconds) 2018-11-20T16:45:53Z klovett joined #scheme 2018-11-20T16:51:17Z Riastradh: jcowan: Not much usage. Mostly it gets called `asinh' in procedure names, like you used, like C and C++ use, like Matlab uses, like GNU mpfr and mpc use, like Fortran uses. 2018-11-20T16:51:26Z dkmueller joined #scheme 2018-11-20T16:52:10Z Riastradh: R too. 2018-11-20T16:52:17Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T16:52:23Z Riastradh: gnuplot 2018-11-20T16:52:41Z Riastradh: boost 2018-11-20T16:53:42Z Riastradh: The three expansions of it that appear in usage are `area of hyperbolic sine', `argument of hyperbolic sine', and `arc of hyperbolic sine', only the first two of which make any sense. 2018-11-20T16:54:02Z dkmueller quit (Client Quit) 2018-11-20T16:54:21Z dkmueller joined #scheme 2018-11-20T16:54:56Z klovett quit (Ping timeout: 272 seconds) 2018-11-20T16:56:47Z klovett joined #scheme 2018-11-20T16:57:55Z edgar-rft quit (Quit: Leaving) 2018-11-20T17:04:17Z ggole quit (Quit: ggole) 2018-11-20T17:08:14Z InverseRhombus quit (Remote host closed the connection) 2018-11-20T17:08:29Z kjak joined #scheme 2018-11-20T17:12:22Z catonano quit (Quit: catonano) 2018-11-20T17:17:33Z DGASAU joined #scheme 2018-11-20T17:18:56Z jonaslund quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]) 2018-11-20T17:26:08Z pierpal joined #scheme 2018-11-20T17:29:00Z lavaflow quit (Read error: Connection reset by peer) 2018-11-20T17:29:26Z lavaflow joined #scheme 2018-11-20T17:32:07Z gravicappa joined #scheme 2018-11-20T17:32:22Z InverseRhombus joined #scheme 2018-11-20T17:38:48Z Zaab1t quit (Ping timeout: 245 seconds) 2018-11-20T17:45:07Z dbmikus joined #scheme 2018-11-20T17:47:03Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-20T17:54:21Z pjb joined #scheme 2018-11-20T18:05:38Z catonano joined #scheme 2018-11-20T18:09:18Z Inline quit (Read error: Connection reset by peer) 2018-11-20T18:20:19Z pjb quit (Read error: Connection reset by peer) 2018-11-20T18:21:50Z pjb joined #scheme 2018-11-20T18:22:02Z rain1: is there any way to simulate tail calls in javascript without a trampoline? 2018-11-20T18:22:13Z rain1: it has yield and stuff so maybe there's an efficient way with those? 2018-11-20T18:23:36Z Inline joined #scheme 2018-11-20T18:28:32Z jcowan: rain1: yes, using JS exceptions. Let me find the reference. 2018-11-20T18:28:44Z rain1: thanks! 2018-11-20T18:29:51Z jcowan: http://www.schemeworkshop.org/2007/procPaper4.pdf is relevant, but not the one I was looking for 2018-11-20T18:30:36Z rain1: https://jcubic.wordpress.com/2014/03/19/using-exceptions-to-simulate-tail-recursion-in-javascript/ I found this, but it seems the author is mistaken 2018-11-20T18:31:48Z Riastradh: Heh. 2018-11-20T18:32:25Z gwatt: try/catch simulate call/cc. That's different from TCO 2018-11-20T18:35:14Z lavaflow quit (Read error: Connection reset by peer) 2018-11-20T18:35:18Z jcowan: https://pdfs.semanticscholar.org/1de0/ccff4fad711ca43637f5c66c43a3e65db140.pdf is about the JVM, but the difference is probably not important 2018-11-20T18:36:44Z vyzo joined #scheme 2018-11-20T18:37:21Z lavaflow joined #scheme 2018-11-20T18:38:37Z Zaab1t joined #scheme 2018-11-20T18:39:35Z catonano quit (Ping timeout: 268 seconds) 2018-11-20T18:46:35Z akkad is now known as ober 2018-11-20T18:57:58Z InverseRhombus quit (Remote host closed the connection) 2018-11-20T18:59:20Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T19:10:07Z catonano joined #scheme 2018-11-20T19:12:44Z InverseRhombus joined #scheme 2018-11-20T19:17:26Z zachk joined #scheme 2018-11-20T19:22:32Z zachk quit (Changing host) 2018-11-20T19:22:32Z zachk joined #scheme 2018-11-20T19:23:02Z ober looks back for the reference to a cl on scheme implementation 2018-11-20T19:23:53Z pierpal joined #scheme 2018-11-20T19:25:57Z dkmueller quit (Quit: Lost terminal) 2018-11-20T19:26:09Z amz3 joined #scheme 2018-11-20T19:26:19Z amz3 quit (Changing host) 2018-11-20T19:26:19Z amz3 joined #scheme 2018-11-20T19:27:09Z paod789 joined #scheme 2018-11-20T19:31:08Z paod789 quit (Client Quit) 2018-11-20T19:33:51Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T19:34:32Z terpri_ quit (Ping timeout: 272 seconds) 2018-11-20T19:45:22Z TheGreekOwl joined #scheme 2018-11-20T19:52:14Z dtornabene joined #scheme 2018-11-20T19:52:34Z bheesham joined #scheme 2018-11-20T19:55:00Z gravicappa quit (Remote host closed the connection) 2018-11-20T20:04:53Z TheGreekOwl quit (Read error: Connection reset by peer) 2018-11-20T20:08:35Z TheGreekOwl joined #scheme 2018-11-20T20:11:40Z terpri joined #scheme 2018-11-20T20:11:56Z niklasl2 quit (Quit: Nettalk6 - www.ntalk.de) 2018-11-20T20:12:17Z niklasl joined #scheme 2018-11-20T20:18:30Z TGO joined #scheme 2018-11-20T20:21:51Z TheGreekOwl quit (Ping timeout: 244 seconds) 2018-11-20T20:26:22Z catonano quit (Quit: catonano) 2018-11-20T20:27:54Z jcowan: ober: That's aeth's baby 2018-11-20T20:28:57Z gwatt: I thought that was scheme on cl 2018-11-20T20:29:06Z wasamasa: cl on scheme sounds comical 2018-11-20T20:29:25Z wasamasa: but maybe someone's mistaking r7rs-large for an cl implementation 2018-11-20T20:29:50Z jcowan: oh, sorry, yes 2018-11-20T20:30:07Z jcowan: I think it's called cl-scheme, hence the confusion 2018-11-20T20:30:20Z ober: r9rs.org large is CL no? 2018-11-20T20:31:15Z jcowan: smh 2018-11-20T20:31:41Z pierpal joined #scheme 2018-11-20T20:32:00Z bheesham quit (Quit: WeeChat 1.4) 2018-11-20T20:32:06Z catonano joined #scheme 2018-11-20T20:33:35Z gwatt: r9rs.org redirects to sbcl, and r8rs.org is taken but unused 2018-11-20T20:33:54Z wasamasa: wow 2018-11-20T20:36:12Z gwatt: looks like we've fallen victim to the classes sequence prediction attack 2018-11-20T20:36:19Z gwatt: classic*, not classes 2018-11-20T20:36:48Z DGASAU quit (Read error: Connection reset by peer) 2018-11-20T20:36:51Z catonano quit (Client Quit) 2018-11-20T20:37:05Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T20:39:09Z pierpal joined #scheme 2018-11-20T20:39:21Z civodul joined #scheme 2018-11-20T20:39:29Z wasamasa: such bullies 2018-11-20T20:44:09Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T20:46:09Z pierpal joined #scheme 2018-11-20T20:47:25Z klovett_ joined #scheme 2018-11-20T20:47:59Z rain1: >r9rs.org redirects to sbcl 2018-11-20T20:48:01Z rain1: lol 2018-11-20T20:48:03Z rain1: who did this 2018-11-20T20:48:14Z rain1: I don't think we need to continue the RnRS stuf t hough 2018-11-20T20:50:28Z pierpal quit (Ping timeout: 245 seconds) 2018-11-20T20:51:04Z klovett quit (Ping timeout: 246 seconds) 2018-11-20T20:52:39Z pierpal joined #scheme 2018-11-20T20:56:10Z jcowan: I myself thought the joke was worn out, and that we should find a better name than the Revised Revised Revised Revised Revised Revised Revised Report on the Algorithmic Language Scheme, and wanted a different name for the report, but WG1 decided otherwise. 2018-11-20T20:58:50Z pjb: Be assured that sbcl's people will gladly relinquish the r9rs.org domain when time arrives. 2018-11-20T21:00:27Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:01:33Z confusedwanderer quit (Remote host closed the connection) 2018-11-20T21:02:16Z qu1j0t3: for a small sum! 2018-11-20T21:02:18Z pierpal joined #scheme 2018-11-20T21:02:34Z qu1j0t3: (+ 3 4) ;;; oughta do it 2018-11-20T21:07:06Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:09:28Z pierpal joined #scheme 2018-11-20T21:09:55Z InverseRhombus quit (Remote host closed the connection) 2018-11-20T21:11:59Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:12:42Z pierpal joined #scheme 2018-11-20T21:14:05Z ngz joined #scheme 2018-11-20T21:14:45Z lavaflow quit (Quit: WeeChat 2.2) 2018-11-20T21:15:32Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:15:50Z pierpal joined #scheme 2018-11-20T21:17:38Z ober: pjb: we'll be on ipv8 by then 2018-11-20T21:21:44Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:22:49Z pierpal joined #scheme 2018-11-20T21:23:45Z Zaab1t quit (Quit: bye bye friends) 2018-11-20T21:23:53Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T21:24:48Z InverseRhombus joined #scheme 2018-11-20T21:25:54Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:31:40Z pierpal joined #scheme 2018-11-20T21:35:50Z Zipheir joined #scheme 2018-11-20T21:39:02Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T21:39:09Z klovett joined #scheme 2018-11-20T21:40:07Z wilfredh quit (Quit: Connection closed for inactivity) 2018-11-20T21:43:21Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-20T21:44:57Z pierpal joined #scheme 2018-11-20T21:47:28Z ngz quit (Ping timeout: 252 seconds) 2018-11-20T21:48:29Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T21:50:54Z Guest99695 quit (Ping timeout: 264 seconds) 2018-11-20T21:52:53Z mejja joined #scheme 2018-11-20T21:53:46Z mejja: ober, https://github.com/tinysun212/bbn_cl 2018-11-20T21:55:09Z pierpal joined #scheme 2018-11-20T21:59:03Z ecraven: that code looks a lot like MIT/GNU Scheme code 2018-11-20T21:59:10Z ecraven: are they related in any way? 2018-11-20T21:59:42Z Riastradh: Yes. Some kind of fork. 2018-11-20T21:59:55Z ecraven: which way? 2018-11-20T21:59:58Z Riastradh: No idea! 2018-11-20T21:59:59Z grettke joined #scheme 2018-11-20T22:00:04Z mejja: also at ai-rep: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/bbn/0.html 2018-11-20T22:00:09Z ecraven: BBN took MIT's code? 2018-11-20T22:00:19Z mejja: The Butterfly machine me thinks.. 2018-11-20T22:00:38Z Riastradh: ecraven: Guessing something like that. But not sure whether support on the Butterfly was first developed at MIT, or first developed at BBN. 2018-11-20T22:00:49Z ecraven: thanks 2018-11-20T22:01:47Z pierpal quit (Ping timeout: 240 seconds) 2018-11-20T22:04:33Z ober: mejja: thanks 2018-11-20T22:07:16Z mejja: https://en.wikipedia.org/wiki/BBN_Butterfly 2018-11-20T22:09:14Z pierpal joined #scheme 2018-11-20T22:09:27Z sethalves quit (Ping timeout: 240 seconds) 2018-11-20T22:11:58Z lavaflow joined #scheme 2018-11-20T22:13:34Z sethalves joined #scheme 2018-11-20T22:15:05Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-20T22:16:39Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T22:22:56Z pierpal joined #scheme 2018-11-20T22:29:57Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T22:32:04Z pierpal joined #scheme 2018-11-20T22:37:00Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T22:45:55Z dtornabene_ joined #scheme 2018-11-20T22:46:04Z pierpal joined #scheme 2018-11-20T22:46:28Z InverseRhombus quit (Remote host closed the connection) 2018-11-20T22:47:07Z dtornabene quit (Ping timeout: 240 seconds) 2018-11-20T22:49:46Z pierpal quit (Read error: Connection reset by peer) 2018-11-20T22:56:53Z oni-on-ion: AHH! hi so uhm, i see that chicken scheme uses "keyword:" style! http://wiki.call-cc.org/eggref/4/coops 2018-11-20T22:57:59Z ober: don't most schemes? 2018-11-20T22:58:08Z ober: vs :the-Lisp 2018-11-20T22:59:08Z aeth: ober: no 2018-11-20T22:59:10Z oni-on-ion: this would be news to me and also good news =) i've only seen guile which uses "#:keyword" style 2018-11-20T22:59:20Z aeth: ober: It's a fairly even split between :foo, foo:, and #:foo 2018-11-20T22:59:26Z aeth: ober: with #:foo as the apparent winner 2018-11-20T22:59:27Z ober: ahh. good to know 2018-11-20T22:59:42Z gwatt: oni-on-ion: racket uses that same style, but has different semantics 2018-11-20T22:59:49Z ober: and differences between keywords, symbols, and just quoted values 2018-11-20T23:00:20Z rain1: I don't think keywords are good 2018-11-20T23:00:23Z oni-on-ion: gwatt: interesting, i've looked at racket a little but it seems a bit too heavy or large at the moment 2018-11-20T23:00:27Z rain1: thye don't fit cleanly into the overall idea of lisp 2018-11-20T23:00:48Z oni-on-ion: i agree with rain1 . but coming from objective-c , and english, "keyword:" is much more acceptable 2018-11-20T23:01:00Z rain1: I like objective c function calls 2018-11-20T23:01:06Z oni-on-ion: scheme as a lisp-1 with currying would solve most "optional" args 2018-11-20T23:01:06Z aeth: rain1: They work fine in Common Lisp imo. There, keyword arguments are just a plist tail of a lambda-list 2018-11-20T23:01:07Z gwatt: chez scheme has a #: syntax, but it's syntactic sugar for (gensym "foo") 2018-11-20T23:01:14Z oni-on-ion: gwatt: ew ! 2018-11-20T23:01:29Z gwatt: Yeah, I'm not sure why 2018-11-20T23:01:36Z oni-on-ion: shift 3 shift ; four keys to begin a keyword. and we complain about emacs shortcuts !?? 2018-11-20T23:02:08Z gwatt: yes 2018-11-20T23:02:43Z oni-on-ion: https://wiki.call-cc.org/man/4/Parameters#keyword-style <-- heh "CL style" 2018-11-20T23:02:52Z pierpal joined #scheme 2018-11-20T23:03:27Z aeth: oni-on-ion: Yes, CL did :foo first and DSSSL did foo: first, and that page recognizes both facts. 2018-11-20T23:03:36Z oni-on-ion: aeth: yeap =) what is DSSSSSL ? 2018-11-20T23:03:37Z aeth: Or at least, the most notable early examples. 2018-11-20T23:03:48Z aeth: oni-on-ion: DSSSL is a better CSS, before CSS. 2018-11-20T23:03:53Z aeth: But it had parentheses so people hated it 2018-11-20T23:04:05Z aeth: https://en.wikipedia.org/wiki/Document_Style_Semantics_and_Specification_Language 2018-11-20T23:04:09Z oni-on-ion: maybe because i learn right-to-left language like hebrew and arabic. but i dont think that is it. :keyword is just something i would go out of my way to avoid 2018-11-20T23:04:21Z gwatt: oni-on-ion: to be fair, '#' and ':' are both on the (US) keyboard, so the cognitive load is only 2 characters 2018-11-20T23:04:28Z oni-on-ion: aeth: ohh! interesting connection. 2018-11-20T23:04:45Z aeth: Yes, it was SGML's CSS-equivalent, and a Scheme 2018-11-20T23:05:02Z oni-on-ion: gwatt: yeah =) side note, i use snoopy-mode in emacs which keeps the numbers 1234567890 shifted by default 2018-11-20T23:05:11Z gwatt: oni-on-ion: in CL at least, :foo is read syntax for 'keyword:foo 2018-11-20T23:05:13Z aeth: DSSSL is also the first place where I encountered "foo:" syntax (reading about DSSSL, not using it, DSSSL and SGML are very dead) 2018-11-20T23:05:33Z oni-on-ion: aeth: ah what? that sounds interesting. CSS is quite declarative, even does animations and a lot of things can be done with just CSS3. very interesting how it did not take off. because now its full of {}'s 2018-11-20T23:05:48Z oni-on-ion: gwatt: ohh - KEYWORD package ? 2018-11-20T23:05:55Z aeth: CSS is incredibly flawed. Few people use it without a preprocessor these days. 2018-11-20T23:05:57Z gwatt: oni-on-ion: Ah, but {} is better than those heathen parenthesis 2018-11-20T23:06:45Z oni-on-ion: heh. HEH. casually i wonder when <> where used to match, where initially they may have been math compare ops. (aside from french <>) 2018-11-20T23:07:32Z oni-on-ion: aeth: my interest in it , mostly is fonts and compositing and animations. apple did a lot of work here, which resembles their CoreAnimation/CoreEtc frameworks which i enjoyed working with 2018-11-20T23:07:46Z oni-on-ion: (my positive views on CSS3 that is) 2018-11-20T23:08:35Z aeth: oni-on-ion: My negative view of CSS is influenced by random websites randomly taking up 100% CPU for no reason and me only noticing by hearing a difference in my CPU fan (or the fan running at all, in the case of my laptop) 2018-11-20T23:08:53Z oni-on-ion: o_o not sure that is css[3] 2018-11-20T23:09:08Z gwatt: yeah, is that the javascript? 2018-11-20T23:09:20Z aeth: It's usually CSS animations, or at least it used to be. 2018-11-20T23:09:43Z aeth: People only test in Chrome, so if you use Firefox, you could get terrible CSS. 2018-11-20T23:09:46Z gwatt: I used css to overlay an image on another image. That was a pain 2018-11-20T23:10:05Z oni-on-ion: ahh CSS is fully hardware accel since 2011-2012 time 2018-11-20T23:10:26Z aeth: oni-on-ion: doesn't mean it will function properly 2018-11-20T23:10:29Z oni-on-ion: i've seen whole 3d apps with 90% css , wild stuff 2018-11-20T23:10:39Z oni-on-ion: aeth: sounds like superstition. 2018-11-20T23:10:50Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-20T23:10:56Z oni-on-ion: hardware acceleration is why CSS would be useful in the first place 2018-11-20T23:11:26Z oni-on-ion: compositing and tweening , even though it is a bit amusing to stuff that into style sheets =) 2018-11-20T23:11:38Z oni-on-ion: ohhh gambit scheme actually compiled 2018-11-20T23:11:43Z pierpal quit (Ping timeout: 245 seconds) 2018-11-20T23:11:52Z aeth: oni-on-ion: It's not superstition. I can (sort of) use the Firefox debugger. 2018-11-20T23:12:41Z oni-on-ion: i am not sure that equates to functioning properly or not 2018-11-20T23:12:44Z oni-on-ion: sry 2018-11-20T23:13:36Z aeth: oni-on-ion: And performance problems or not, this doesn't change the fact that CSS is too simple to be useful and so people usually wind up generating it with tools. 2018-11-20T23:14:05Z gwatt: Ehh 2018-11-20T23:14:11Z oni-on-ion: ok not sure where we are going here 2018-11-20T23:14:23Z oni-on-ion: can't disagree on CSS preprocessors 2018-11-20T23:14:23Z gwatt: For document presentation CSS is fine, and that's where SGML et al came from 2018-11-20T23:14:24Z aeth: My point has always been that DSSSL > CSS 2018-11-20T23:14:33Z aeth: And if you're going to preprocess it anyway... 2018-11-20T23:14:38Z aeth: Why not use real macros? 2018-11-20T23:14:39Z oni-on-ion: ah. from what you've said, i also agree on DSSSSSL > CSSS 2018-11-20T23:15:14Z aeth: https://cranesoftwrights.github.io/resources/color/colorex.htm 2018-11-20T23:15:19Z daviid joined #scheme 2018-11-20T23:15:23Z aeth: It is a bit weird to see keywords like "this:" though 2018-11-20T23:15:35Z aeth: imo it's uglier to have the :s all uneven 2018-11-20T23:15:41Z aeth: When they're like ":this" the :s all line up 2018-11-20T23:15:57Z aeth: And you can't have "this : " to get the :s to line up because it's part of the symbol 2018-11-20T23:16:31Z oni-on-ion: heh, true. but cognitively.. =) 2018-11-20T23:16:40Z gwatt: aeth: you can copy xcode, and line the : up anyway? 2018-11-20T23:16:51Z gwatt: which leads to silly looking lines 2018-11-20T23:16:51Z aeth: It's also weird to see "make element" and "make pargaraph" instead of "make-element" and "make-paragraph" 2018-11-20T23:16:51Z dbmikus quit (Ping timeout: 252 seconds) 2018-11-20T23:17:11Z aeth: The indentation also seems wrong from a Lisp perspective, although fortunately they do the )))s 2018-11-20T23:17:38Z aeth: gwatt: well, yeah, you could do " this:" 2018-11-20T23:17:47Z dbmikus joined #scheme 2018-11-20T23:17:51Z gwatt: that's what xcode does 2018-11-20T23:17:55Z aeth: gwatt: might actually be the best style for DSSSL 2018-11-20T23:18:49Z aeth: gwatt: with ":this", though, the way to line things up would be ":this " which is probably better because you have all left-aligned columns 2018-11-20T23:19:03Z ng0 quit (Ping timeout: 256 seconds) 2018-11-20T23:19:18Z aeth: (And you don't need to override the editor/IDE's indentation rules) 2018-11-20T23:19:35Z ng0 joined #scheme 2018-11-20T23:20:04Z dbmikus quit (Client Quit) 2018-11-20T23:20:53Z gwatt shrugs 2018-11-20T23:21:07Z gwatt: I don't have a dog in this fight 2018-11-20T23:23:46Z Zipheir: This ain't a fight, it's a bikeshed. 2018-11-20T23:24:39Z gwatt: In that case, I don't have a bike in this shed 2018-11-20T23:28:30Z skapata quit (Remote host closed the connection) 2018-11-20T23:28:47Z skapata joined #scheme 2018-11-20T23:28:51Z aeth: I'll probably interchangeably support Racket-style #:foo and CL-style :foo 2018-11-20T23:29:03Z aeth: Might not even cost much to support foo:, but then people might use it. 2018-11-20T23:29:36Z gwatt: heh 2018-11-20T23:31:12Z nisstyre: TFW someone you don't know well and thought was a normal person posts about SICP on Facebook 2018-11-20T23:31:25Z nisstyre: (of course I recommended The Little Schemer instead) 2018-11-20T23:31:36Z Zipheir: instead?? 2018-11-20T23:31:47Z nisstyre: Zipheir: for a total lisp noob? yeah 2018-11-20T23:31:50Z nisstyre: I think it's an easier introduction 2018-11-20T23:31:52Z aeth: ftfy s/instead/first/ 2018-11-20T23:31:55Z Zipheir: Ah, context. 2018-11-20T23:32:17Z nisstyre: HtDP is good but meant more for people who are very new to programming I think 2018-11-20T23:33:49Z keep_learning joined #scheme 2018-11-20T23:34:37Z aeth: I'm not sure writing proper software can be taught in a book. You just need to constantly rewrite something to improve it and never settle for what you have right now. 2018-11-20T23:34:58Z nisstyre: aeth: I agree 2018-11-20T23:35:20Z aeth: You also need a language with real macros because eventually you'll reach a limitation in the language and at that point you can either write macros or you can wait for the next version of the language standard (or language implementation if there is no standard) 2018-11-20T23:35:23Z nisstyre: the best book I've read that passes on that intuition is Coders at Work 2018-11-20T23:35:37Z nisstyre: especially the interview with Jamie Zawinski 2018-11-20T23:35:41Z nisstyre: that was my favourite one 2018-11-20T23:35:54Z pierpal joined #scheme 2018-11-20T23:37:16Z Zipheir: Well, the counterpoint to that approach is a more proof-based mathematical view, without which you might turn into a crazy hacker who never stops breaking^H^H^H fiddling with things. 2018-11-20T23:37:29Z lambda-11235 joined #scheme 2018-11-20T23:37:55Z nisstyre: Zipheir: then you turn into ekmett https://github.com/ekmett 2018-11-20T23:38:10Z aeth: Zipheir: That can be solved. 2018-11-20T23:38:29Z aeth: Zipheir: You soon learn, by continually rewriting, that there are some things that you simply should copy and not try to invent. 2018-11-20T23:38:50Z aeth: Zipheir: You rarely need to prove a new algorithm, you usually can just implement it from the given description/pseudocode. 2018-11-20T23:39:09Z nisstyre: yeah most people aren't implementing a consensus protocol or a database 2018-11-20T23:40:15Z aeth: You don't need to prove RK4, you can just look it up online. 2018-11-20T23:40:17Z grettke joined #scheme 2018-11-20T23:40:19Z Zipheir: aeth: You may not 'need' to be able to prove your programs for a job, but it's invaluable to be able to do so. 2018-11-20T23:41:03Z aeth: Zipheir: Not really, because the things you want to use would probably require at least two years to get the knowledge to prove it. And it could cross several disciplines. 2018-11-20T23:41:20Z aeth: Zipheir: it's not like people in math field A can understand the papers in math field Z 2018-11-20T23:41:36Z nisstyre: Zipheir: it's helpful to know basic stuff like "is this a total or partial function?" and "what are the preconditions/postconditions?" 2018-11-20T23:41:46Z aeth: Zipheir: At some point you have to trust someone else's proof 2018-11-20T23:42:37Z Zipheir: aeth: It depends what kind of programs you're writing, of course. 2018-11-20T23:42:59Z pierpal quit (Ping timeout: 268 seconds) 2018-11-20T23:43:07Z aeth: Zipheir: If you actually need to prove new things in order to write your program, yes, you need the knowledge and the ability. 2018-11-20T23:43:26Z aeth: Zipheir: If what you're writing is merely a version of something established in your dialect of Lisp, no. 2018-11-20T23:43:45Z Zipheir: aeth: You do know that you can prove theorems about vanilla lisp functions, right? It doesn't neeed to be some abstract name algorithm. 2018-11-20T23:43:52Z Zipheir: s/name/named/ 2018-11-20T23:44:22Z Zipheir: aeth: I recommend The Little Prover, btw. 2018-11-20T23:44:41Z aeth: s/of something established in your dialect of Lisp/of something established ported to your dialect of Lisp/ 2018-11-20T23:45:31Z nisstyre: Zipheir: it's harder though than in a language like Haskell or SML where it can check if your function is potentially partial (has undefined inputs or outputs), and has a clearer way to define the domain of a function with types, etc etc 2018-11-20T23:45:35Z aeth: Zipheir: Proving programs correct is something that no one has the budget for unless you're doing something like aviation, space, defense, medical devices, etc. (And I'd be scared to know how rare it is there.) 2018-11-20T23:45:51Z aeth: Zipheir: Writing software NASA-style is too slow and expensive if you don't need NASA-level of safety. 2018-11-20T23:45:52Z Zipheir: Look, I know proofs are very very uncool and academic for today's view of CS, but seriously--isn't the value of being able to prove theorems about your work obvious? 2018-11-20T23:45:53Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-20T23:46:03Z nisstyre: aeth: I think they end up using a lot of assertions in their code TBH. 2018-11-20T23:46:32Z nisstyre: https://jaxenter.com/power-ten-nasas-coding-commandments-114124.html 2018-11-20T23:46:51Z nisstyre: you can vastly improve reasonability if you restrict Turing completeness too 2018-11-20T23:46:53Z nisstyre: obviously 2018-11-20T23:47:29Z aeth: Zipheir: But requiring proofs means greatly restricting the supply of programmers to those who can do proofs, which makes software considerably more expensive. 2018-11-20T23:48:00Z nisstyre: some teams at Microsoft make liberal use of techniques like assertions which are pretty low cost IMO 2018-11-20T23:48:02Z nisstyre: and have a huge return 2018-11-20T23:48:05Z aeth: Zipheir: Proof-oriented programming requires someone who knows both mathematics *and* computer science, which is a rare skill. (Computer science by itself isn't rigorous enough, at least imo. Maybe it is at the PhD-level.) 2018-11-20T23:48:15Z Zipheir: aeth: And this is a problem. 2018-11-20T23:48:58Z aeth: Oh, and let me also add that this person needs to also know how to program, which is independent of comp sci. 2018-11-20T23:49:09Z aeth: So it's really the union of three distinct but similar skill sets. 2018-11-20T23:49:11Z Zipheir: EWD: "Universities know that, if they need to teach mathematics to computer science graduates, they might as well close their doors now." So we have inadequately educated programmers. 2018-11-20T23:49:27Z Zipheir: (speaking as an inadequately educated programmer!) 2018-11-20T23:50:00Z nisstyre: I would kill just to have EWD's handwriting skill 2018-11-20T23:50:05Z Zipheir: Hah 2018-11-20T23:50:16Z aeth: Zipheir: But, the thing is, most of those grads are just going to be writing nonsense JavaScript webapps whose performance is ruined before they even start by all of the integrated adtech. 2018-11-20T23:50:26Z aeth: Zipheir: It's not like they're doing anything important. 2018-11-20T23:50:45Z Zipheir: aeth: Bingo :) 2018-11-20T23:52:07Z nisstyre: aeth: not just nonsense JavaScript webapps 2018-11-20T23:52:09Z Zipheir: Well, those people will probably be writing the frontends for tomorrow's Equifax, so maybe it's not so harmless. 2018-11-20T23:52:10Z aeth: (And the rest are doing mobile, with similar workflows and with similar adtech-ruining-everything-before-they-start issues) 2018-11-20T23:52:14Z nisstyre: nonsense JavaScript "serverless" containers 2018-11-20T23:52:20Z nisstyre: and nonsense JavaScript database views 2018-11-20T23:52:26Z nisstyre: and all kinds of nonsense JavaScript everywhere 2018-11-20T23:52:43Z aeth: Zipheir: and backends! full stack! 2018-11-20T23:53:02Z Zipheir: Scary. 2018-11-20T23:53:03Z nisstyre: oh yeah and nonsense JavaScript mobile too 2018-11-20T23:53:06Z nisstyre: (React Native) 2018-11-20T23:53:47Z nisstyre: I have hope for things like Elixir though to gain steam 2018-11-20T23:54:21Z aeth: I have at this point written off both mobile and the Web as hopelessly broken. 2018-11-20T23:54:53Z nisstyre: the web is broken from a technology standpoint, it sucks. Mobile is broken from a privacy standpoint. 2018-11-20T23:54:57Z aeth: Wikipedia is pretty much the only site that uses the Web as a web of interconnected, hyperlinked documents, anyway. 2018-11-20T23:55:06Z Zipheir: Unfortunate that mobile is such garbage. We all know the web sucks. 2018-11-20T23:55:45Z aeth: Mobile is a victim of quantity over quality. Even though "n million apps" has stopped being advertised, we still suffer from that marketing phase. 2018-11-20T23:56:15Z aeth: And, of course, mobile has normalized adware to the point where Microsoft Windows is itself adware when 15 years ago adware was a problem to combat. 2018-11-20T23:56:34Z Zipheir: nisstyre: Although the Web is part of why mobile privacy sucks, e.g. HTML5 extensions to allow things like reading battery status and such. 2018-11-20T23:56:37Z nisstyre: if I were going to start from scratch and design a platform I would base it on technology like NixOS where you can clearly separate things 2018-11-20T23:56:44Z nisstyre: and I would build in privacy from the start 2018-11-20T23:56:52Z nisstyre: of course that's not enticing to people 2018-11-20T23:57:00Z lritter_ quit (Remote host closed the connection) 2018-11-20T23:57:00Z pjb quit (Ping timeout: 252 seconds) 2018-11-20T23:57:03Z gwatt: I think android is going in that direction 2018-11-20T23:57:13Z nisstyre: yeah you're right 2018-11-20T23:57:17Z nisstyre: they're using containers I think 2018-11-20T23:57:21Z gwatt: yeah 2018-11-20T23:57:28Z aeth: nisstyre: Imo you need to allow for commercial, proprietary software for a platform to be mainstream (even if you don't yourself use it) so NixOS isn't good and Guix is a complete non-starter. 2018-11-20T23:57:39Z robotoad quit (Quit: robotoad) 2018-11-20T23:57:49Z nisstyre: aeth: well there's nothing stopping you from installing proprietary stuff on NixOS 2018-11-20T23:57:53Z aeth: nisstyre: What people should absolutely not tolerate to any extent is advertisers, especially advertisers who can run arbitrary ads running arbitrary code. That kills security and privacy. 2018-11-20T23:57:57Z nisstyre: you can install prebuilt binaries just fine 2018-11-20T23:58:04Z nisstyre: and I don't think the license is restrictive 2018-11-20T23:59:25Z nisstyre: aeth: yeah, in-app ads seem ok to me, but harvesting information about the users is not 2018-11-20T23:59:34Z Zipheir: aeth: People are so used to this though that they would find it more invasive to have to allow 's script to run than to just run it. Imagine if JS blocking were the default in major browsers--the users would scream. 2018-11-20T23:59:52Z aeth: Imo a modern software platform should have this rule: If it's $0 it's FOSS and ad-free and if it's paid-for it does not have ads. Ads, of course, defined as adtech. You can't completely stop someone from embeding an advertisement in their content. It's the big third parties that are the problem. 2018-11-21T00:00:20Z InverseRhombus joined #scheme 2018-11-21T00:00:43Z aeth: This would stop a race to the bottom with commercial software, too. And anything that's FOSS with ads can just be forked. 2018-11-21T00:01:32Z Zipheir: But as far as the industry is concerned, the only point of a $0 product is ads/data mining, which they don't want forked out of the program. 2018-11-21T00:02:04Z aeth: Which means that you will only have a choice between FOSS and commercial software that ideally does not rely on ads. 2018-11-21T00:02:13Z aeth: Properitary $0 adware will, ideally, be disallowed by strict enough rules. 2018-11-21T00:02:42Z gwatt: then very few people will release $0 apps 2018-11-21T00:02:50Z aeth: And the ones that will be released will be trusted. 2018-11-21T00:03:04Z aeth: Quality over quantity. 2018-11-21T00:03:16Z Zipheir: We can't even get a law passed requiring voting machines to run on FOSS. It seems utopian to expect anyone to follow such a guideline. 2018-11-21T00:03:39Z Zipheir: (i.e. $0 software <=> FOSS) 2018-11-21T00:03:51Z aeth: Zipheir: I'm talking about a new software platform, which, being $0, would be by its own rules FOSS. You could, of course, fork it if you didn't like that rule, but you'd have to fight with network effects. 2018-11-21T00:03:52Z pierpal joined #scheme 2018-11-21T00:04:03Z nisstyre: Zipheir: here in Canada we have this awesome technology called paper 2018-11-21T00:04:17Z dtornabene_ quit (Remote host closed the connection) 2018-11-21T00:04:36Z Zipheir: aeth: Hmm. 2018-11-21T00:04:44Z dtornabene_ joined #scheme 2018-11-21T00:04:53Z aeth: Zipheir: The simplest way to actually enforce this would be to break up the "app store". You'd have a store and a FOSS repository, and the store would forbid $0 2018-11-21T00:05:08Z aeth: Minimum price: $0.99 2018-11-21T00:05:12Z qu1j0t3: nisstyre: counterpoint: Doug Ford 2018-11-21T00:05:24Z Zipheir: nisstyre: Our (US) district had paper this election, but the ballot scanners are prob. running blobs. 2018-11-21T00:05:52Z aeth: Zipheir: worse than that, literally anyone would be capable of hacking them 2018-11-21T00:06:07Z Zipheir: ... and that, the security is probably non-existent. 2018-11-21T00:06:10Z aeth: right 2018-11-21T00:06:27Z aeth: I wouldn't even be surprised if they're Windows machines connected to the Internet. 2018-11-21T00:06:45Z aeth: (really old version, too... you can still use embedded XP) 2018-11-21T00:08:33Z aeth: At the very least, though, if there's a paper ballot that's being scanned, there's a paper trail. Add random manual counting and you could potentially detect irregularities that could trigger a full recount. 2018-11-21T00:08:54Z aeth: Actually voting on a machine without scanning a paper and there's no way to detect it. 2018-11-21T00:09:39Z Zipheir: Right, this is why the EFF has been trying to get mandatory paper ballots. 2018-11-21T00:09:50Z aeth: I think in 2008 when I first voted, my state (Maryland) was still using those touchscreen voting machines without scanning, but they got rid of that. 2018-11-21T00:10:23Z aeth: Personally, the scanning doesn't seem much better. This most recent election, they didn't even display the results so you could confirm (I think they used to do that) 2018-11-21T00:11:24Z Zipheir: The US is pretty terrible at elections in general, but anyway. 2018-11-21T00:11:30Z dtornabene_ quit (Remote host closed the connection) 2018-11-21T00:13:38Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-21T00:15:40Z nisstyre: qu1j0t3: it was still paper, they just use scanners to record the votes and keep the paper ballots in case they need to audit them 2018-11-21T00:15:52Z nisstyre: but the scanners could be hacked I admit 2018-11-21T00:16:36Z zachk: could just fill out fake ballots 2018-11-21T00:17:00Z Riastradh: `Requiring proofs means greatly restricting the supply of programmers to those who can do proofs.' Proofs aren't black magic -- it doesn't take a PhD to learn to sketch theorems and proofs about programs that lend confidence; there's plenty of value in that far short of writing fully machine-verifiable whole-program proofs in Coq. 2018-11-21T00:17:18Z gwatt: I remember reading about NASA mission critical systems, and how there were multiple contingencies. There would be multiple "failsafes" and the final one was separately implemented 2018-11-21T00:18:43Z Zipheir: Riastradh: Agreed. 2018-11-21T00:19:52Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T00:20:44Z robotoad joined #scheme 2018-11-21T00:25:02Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/KeywordSyntax.md shows there ids no winner 2018-11-21T00:25:09Z jcowan: is 2018-11-21T00:26:04Z rain1: I wish there was a really good implementation independent test suite for all the various scheme features 2018-11-21T00:26:16Z rain1: it would help me build my interpreter 2018-11-21T00:28:05Z Riastradh: jcowan: This is why you should declare the foo: :foo #:foo syntax contest a draw and move on to letting Racket semantics win the semantics contest. 2018-11-21T00:28:35Z Riastradh: (P.S. MIT Scheme supports :foo and foo:, chosen on a per-file basis.) 2018-11-21T00:50:11Z aeth: rain1: the best test so far afaik is https://github.com/ashinn/chibi-scheme/blob/master/tests/r7rs-tests.scm 2018-11-21T00:50:27Z aeth: rain1: being in one file is a bit problematic because some of these things are optional and will fail 2018-11-21T00:50:43Z aeth: rain1: and, of course, who knows if there will be an r7rs-large version or if that's too much work 2018-11-21T00:51:18Z elderK joined #scheme 2018-11-21T00:59:57Z pierpal joined #scheme 2018-11-21T01:05:34Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T01:05:49Z pierpal joined #scheme 2018-11-21T01:08:30Z lockywolf joined #scheme 2018-11-21T01:12:04Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T01:17:26Z jcowan: rain1: You could assemble such a suite from the pages linked from https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ImplementationContrasts. In some cases, like lexical syntax, you'd have to deal with failures. 2018-11-21T01:18:28Z aeth: that link doesn't work for me 2018-11-21T01:18:43Z jcowan: sorry, append .md 2018-11-21T01:18:57Z grettke joined #scheme 2018-11-21T01:19:53Z pierpal joined #scheme 2018-11-21T01:20:16Z aeth: I'm surprised there is a nil is false and there is a zero, but there's not a zero is false on the zero page, even if the result is that that's not the case in any implementation 2018-11-21T01:21:24Z aeth: That's the source of the "pornographic programming" quote here. http://www-formal.stanford.edu/jmc/history/lisp/node3.html#SECTION00030000000000000000 2018-11-21T01:21:31Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T01:21:55Z aeth: "...later proved unfortunate. These included the COND notation for conditional expressions which leads to an unnecessary depth of parentheses, and the use of the number zero to denote the empty list NIL and the truth value false. Besides encouraging pornographic programming, giving a special interpretation to the address 0 has caused difficulties in all subsequent implementations." 2018-11-21T01:22:17Z aeth: This is decades before Scheme but who knows if a Scheme follows that convention? 2018-11-21T01:24:44Z mejja quit (Quit: mejja) 2018-11-21T01:27:31Z pierpal joined #scheme 2018-11-21T01:31:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-21T01:34:15Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T01:37:32Z TGO quit (Ping timeout: 244 seconds) 2018-11-21T01:39:19Z pierpal joined #scheme 2018-11-21T01:43:51Z pierpal quit (Ping timeout: 268 seconds) 2018-11-21T01:47:48Z klovett_ joined #scheme 2018-11-21T01:50:01Z klovett quit (Ping timeout: 268 seconds) 2018-11-21T01:57:11Z edgar-rft joined #scheme 2018-11-21T02:03:58Z daviid quit (Ping timeout: 246 seconds) 2018-11-21T02:09:15Z zachk quit (Quit: Leaving) 2018-11-21T02:11:55Z pierpal joined #scheme 2018-11-21T02:21:27Z pierpal quit (Ping timeout: 252 seconds) 2018-11-21T02:36:56Z daviid joined #scheme 2018-11-21T02:38:07Z robotoad quit (Quit: robotoad) 2018-11-21T02:44:58Z skapata quit (Remote host closed the connection) 2018-11-21T02:56:42Z robotoad joined #scheme 2018-11-21T02:58:26Z klovett_ quit (Read error: Connection reset by peer) 2018-11-21T02:59:09Z klovett joined #scheme 2018-11-21T02:59:43Z blt quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-21T03:00:05Z blt joined #scheme 2018-11-21T03:00:06Z blt quit (Changing host) 2018-11-21T03:00:06Z blt joined #scheme 2018-11-21T03:00:27Z aeth_ joined #scheme 2018-11-21T03:00:29Z aeth_ quit (Changing host) 2018-11-21T03:00:29Z aeth_ joined #scheme 2018-11-21T03:00:49Z aeth_ quit (Client Quit) 2018-11-21T03:00:49Z aeth quit (Quit: Reconnecting) 2018-11-21T03:01:26Z aeth joined #scheme 2018-11-21T03:03:43Z jcowan: aeth: The *number* 0 has never been false; rather, early implementations used the *address* 0 (spelled NULL in C) to indicate the empty list, false, and the symbol NIL all at once. 2018-11-21T03:05:02Z jcowan: No implementation today does this, because modern OSes generally don't map virtual address 0 to a physical memory page, so that attempts to dereference NULL in C cause the program to crash. 2018-11-21T03:07:11Z jcowan: In principle, a null pointer does not even have to be the same as an all-bits-zero pointer in C, though it almost always is. C compilers are merely required to turn the number 0 in a pointer context (the only number allowed there) into a null pointer whatever its representation may be. 2018-11-21T03:07:12Z aeth: ah 2018-11-21T03:07:38Z oni-on-ion: =) 2018-11-21T03:33:06Z sz0 quit (Quit: Connection closed for inactivity) 2018-11-21T03:53:07Z pierpal joined #scheme 2018-11-21T03:54:46Z jao quit (Ping timeout: 260 seconds) 2018-11-21T04:07:17Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-21T04:13:22Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:13:33Z pierpal joined #scheme 2018-11-21T04:20:23Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:21:02Z lockywolf quit (Read error: Connection reset by peer) 2018-11-21T04:21:07Z pierpal joined #scheme 2018-11-21T04:24:22Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:27:28Z keep_learning quit (Ping timeout: 246 seconds) 2018-11-21T04:31:33Z pierpal joined #scheme 2018-11-21T04:34:21Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:37:20Z daviid quit (Ping timeout: 244 seconds) 2018-11-21T04:40:08Z pierpal joined #scheme 2018-11-21T04:42:32Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:42:44Z pierpal joined #scheme 2018-11-21T04:45:57Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T04:46:10Z ByronJohnson quit (Ping timeout: 272 seconds) 2018-11-21T04:53:03Z ByronJohnson joined #scheme 2018-11-21T04:53:23Z lockywolf joined #scheme 2018-11-21T04:55:39Z pierpal joined #scheme 2018-11-21T05:03:50Z fraktor joined #scheme 2018-11-21T05:05:05Z fraktor: I'm looking at possibly learning scheme, and I would really like to try making some small "scripts," similar to the way that I use python for a few different things. What's a good scheme implementation (I'm on Fedora linux, so preferrably something in those repositories) that suits this purpose well? Guile seems to be a good fit so far. 2018-11-21T05:12:54Z pierpal quit (Ping timeout: 268 seconds) 2018-11-21T05:13:13Z aeth: fraktor: The most popular are Racket, Guile, and Chicken. Guile and Chicken are in Fedora. Racket is too big and complicated to ship with Fedora, but it isn't hard to install locally to your home directory. Another somewhat popular one is chibi-scheme, which also isn't in Fedora, but is easy to build. Kawa (in Fedora) runs on the JVM and on Android. 2018-11-21T05:14:26Z fraktor: aeth: Thoughts on Gauche? 2018-11-21T05:14:46Z aeth: Never used it. 2018-11-21T05:15:08Z fraktor: Okay. It looks like it's designed specifically for scripting, so I wondered if it would be popular or not. 2018-11-21T05:15:17Z aeth: I would personally stick to one of the most popular three, or use Kawa if Java interop was necessary. 2018-11-21T05:15:43Z aeth: Writing portable Scheme is very painful (imo) so popularity is an important factor in choosing a Scheme. 2018-11-21T05:15:53Z fraktor: Also, it looks like racket is in the Fedora repositories. So that's another option 2018-11-21T05:16:19Z aeth: wow someone finally solved that packaging nightmare 2018-11-21T05:16:41Z fraktor: there's racket, racket-minimal, and then a few library packages 2018-11-21T05:16:49Z pierpal joined #scheme 2018-11-21T05:17:12Z aeth: It looks like Racket was added in 28 (6ish months ago) 2018-11-21T05:17:16Z grettke joined #scheme 2018-11-21T05:17:32Z fraktor: But I still think Guile or Chicken would be good. Do you have a preference? 2018-11-21T05:18:07Z aeth: Racket's build history only has 28/29/30 according to https://apps.fedoraproject.org/packages/racket/builds/ so I guess they really did solve packaging it 2018-11-21T05:19:28Z pierpal quit (Read error: Connection reset by peer) 2018-11-21T05:19:31Z fraktor: Now that I think about it, I suppose an implementation that's somewhat "batteries included" would be convenient. Nothing too weird, just things that help with command-line flags, json parsing, etc. 2018-11-21T05:19:37Z aeth: fraktor: Racket is big and beginner-oriented like Python and is very popular in academia. Guile is designed as the official scripting language of the GNU project, but few applications until recently were using it as such. Chicken is, well, I'm not sure. 2018-11-21T05:19:49Z pierpal joined #scheme 2018-11-21T05:19:54Z aeth: I think the point of Chicken was to compile to C. 2018-11-21T05:20:12Z aeth: fraktor: Any one of those three should have tons of libraries. 2018-11-21T05:20:19Z aeth: That's why I personally recommend those three. 2018-11-21T05:21:04Z fraktor: Fair enough. Would those be installable libraries, or do they come with large-ish standard libraries? 2018-11-21T05:21:57Z aeth: If I had to guess, Racket would have the largest standard library. 2018-11-21T05:22:09Z aeth: They all have something like cpan/node-js/etc., though. 2018-11-21T05:22:17Z aeth: A more obscure Scheme might not. 2018-11-21T05:22:34Z fraktor: I didn't find an equivalent for Guile, but that doesn't mean it doesn't exist. I'll look for chicken's version. 2018-11-21T05:22:47Z aeth: If you write in a more obscure Scheme you might have to rely on portable libraries called SRFIs (well, writing them might not necessarily be portable, but code that uses them could be). https://srfi.schemers.org/ 2018-11-21T05:23:47Z aeth: fraktor: This is years old, but might still be relevant. https://stackoverflow.com/questions/27281429/does-guile-have-a-package-manager 2018-11-21T05:23:54Z aeth: https://github.com/ijp/guildhall 2018-11-21T05:24:06Z aeth: Might not be, though. The SO post is from 2014 and that's from 2015. 2018-11-21T05:24:11Z aeth: I'd ask in #guile 2018-11-21T05:24:16Z fraktor: chicken comes with its own, so I think I'll go with that. I like things to be small, but also easy. 2018-11-21T05:24:21Z fraktor: Wow, I'm a weird Linux user. :P 2018-11-21T05:24:34Z aeth: #guile #racket and #chicken all exist and they're all about the same size (all about half the size of this channel) 2018-11-21T05:24:48Z aeth: Racket and Chicken definitely have integrated package managers. 2018-11-21T05:25:05Z aeth: #guile actually has the largest IRC channel, just barely larger than #racket most of the times that I check. 2018-11-21T05:25:11Z fraktor: Chicken it is. Thanks for your help! 2018-11-21T05:25:20Z aeth: You're welcome 2018-11-21T05:25:45Z aeth: fraktor: thanks for telling me that Fedora finally added Racket 2018-11-21T05:27:13Z aeth: It was an issue for years, since at least 2012. Apparently it is/was really hard to package 2018-11-21T05:28:31Z aeth: (But if you're using Fedora that's no longer a problem for you) 2018-11-21T05:29:51Z aeth: (Now I wonder when they're going to add chibi-scheme...) 2018-11-21T05:30:30Z pierpal quit (Ping timeout: 272 seconds) 2018-11-21T05:35:00Z pierpal joined #scheme 2018-11-21T05:35:31Z fraktor quit (Quit: WeeChat 2.2) 2018-11-21T05:47:01Z Inline quit (Quit: Leaving) 2018-11-21T05:48:27Z flerovite quit (Ping timeout: 252 seconds) 2018-11-21T05:48:55Z flerovite joined #scheme 2018-11-21T06:03:00Z jetchisel joined #scheme 2018-11-21T06:43:20Z jetchisel quit (Ping timeout: 272 seconds) 2018-11-21T06:52:33Z Zenton quit (Ping timeout: 245 seconds) 2018-11-21T07:00:36Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-21T07:23:16Z gravicappa joined #scheme 2018-11-21T07:28:03Z DKordic joined #scheme 2018-11-21T07:51:33Z robotoad quit (Quit: robotoad) 2018-11-21T07:54:16Z amz3 quit (Ping timeout: 272 seconds) 2018-11-21T08:00:38Z Zaab1t joined #scheme 2018-11-21T08:17:51Z klovett quit (Remote host closed the connection) 2018-11-21T08:18:13Z klovett joined #scheme 2018-11-21T08:18:50Z klovett quit (Remote host closed the connection) 2018-11-21T08:25:37Z lockywolf_ joined #scheme 2018-11-21T08:27:30Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-21T08:28:36Z bor0 joined #scheme 2018-11-21T08:43:33Z klovett joined #scheme 2018-11-21T08:48:04Z klovett quit (Ping timeout: 264 seconds) 2018-11-21T08:48:41Z klovett joined #scheme 2018-11-21T08:57:08Z klovett quit (Ping timeout: 252 seconds) 2018-11-21T09:02:11Z TGO joined #scheme 2018-11-21T09:02:25Z TGO quit (Remote host closed the connection) 2018-11-21T09:02:51Z TheGreekOwl joined #scheme 2018-11-21T09:07:33Z fmnt joined #scheme 2018-11-21T09:10:50Z lockywolf joined #scheme 2018-11-21T09:10:59Z lambda-11235 quit (Quit: Bye) 2018-11-21T09:12:10Z klovett joined #scheme 2018-11-21T09:12:26Z lockywolf_ quit (Ping timeout: 250 seconds) 2018-11-21T09:13:41Z bor0 quit (Quit: This computer has gone to sleep) 2018-11-21T09:21:00Z klovett quit (Ping timeout: 252 seconds) 2018-11-21T09:21:07Z ManDay joined #scheme 2018-11-21T09:21:52Z klovett joined #scheme 2018-11-21T09:23:13Z bor0 joined #scheme 2018-11-21T09:24:44Z ManDay: I'm trying to define a (pure) interator interface which is both convenient to use and allows for derived iterators. I'm not happy with the fact that derived iterators - do you have a better suggestion? https://ideone.com/QywQBF 2018-11-21T09:25:37Z ManDay: Accidentally deleted half of my sentence: 2018-11-21T09:25:51Z ManDay: Meant to say "with the fact that derived iterators have to be called 'doubly'" 2018-11-21T09:26:54Z daviid joined #scheme 2018-11-21T09:29:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-21T09:33:32Z jetchisel joined #scheme 2018-11-21T09:34:25Z ManDay: I guess the best solution would be to parametrize make-iter with an additional argument telling whether the iterator is derived to make it automatically resolve the additional layer? If I stick with a single "increment" function with a single return value (as practical in the underived case), then in the derived case it *must* return some entity which contains the continuation and the value. Since in the derived case the value alone 2018-11-21T09:34:45Z ManDay: inuation, I need to return a lambda. So there is a difference, necessarily. 2018-11-21T09:34:53Z alezost joined #scheme 2018-11-21T09:39:04Z pierpal quit (Ping timeout: 244 seconds) 2018-11-21T09:40:44Z Zenton joined #scheme 2018-11-21T09:40:44Z pierpal joined #scheme 2018-11-21T09:43:40Z ManDay: is there a shorthand for (lambda (x) x), by the way? 2018-11-21T09:46:17Z pierpal quit (Quit: Poof) 2018-11-21T09:46:33Z pierpal joined #scheme 2018-11-21T09:48:30Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-21T09:53:36Z wigust joined #scheme 2018-11-21T09:55:37Z bor0: ManDay, `identity`? 2018-11-21T09:56:28Z bor0 quit (Quit: Leaving) 2018-11-21T09:56:55Z ManDay: Well thanks, disappearing man. 2018-11-21T10:02:40Z fmnt quit (Quit: Leaving.) 2018-11-21T10:07:48Z jao joined #scheme 2018-11-21T10:18:18Z klovett joined #scheme 2018-11-21T10:20:02Z ManDay: I've changed that to https://ideone.com/WBB9t9 - the argument allows for things like cache, too. 2018-11-21T10:20:53Z flerovite quit (Remote host closed the connection) 2018-11-21T10:21:09Z flerovite joined #scheme 2018-11-21T10:22:42Z klovett quit (Ping timeout: 252 seconds) 2018-11-21T10:23:18Z klovett joined #scheme 2018-11-21T10:25:27Z flerovite quit (Ping timeout: 240 seconds) 2018-11-21T10:26:12Z flerovite joined #scheme 2018-11-21T10:27:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-21T10:27:33Z ng0 joined #scheme 2018-11-21T10:28:09Z klovett joined #scheme 2018-11-21T10:32:57Z klovett quit (Ping timeout: 268 seconds) 2018-11-21T10:42:06Z jao quit (Ping timeout: 244 seconds) 2018-11-21T10:43:22Z jao joined #scheme 2018-11-21T10:43:29Z jao quit (Remote host closed the connection) 2018-11-21T10:55:07Z nulldata joined #scheme 2018-11-21T10:59:37Z nulldata left #scheme 2018-11-21T10:59:43Z nulldata joined #scheme 2018-11-21T10:59:53Z nulldata: Test 2018-11-21T11:00:13Z nulldata: There we go, I don't think me previous messages came through, if they did sorry for the duplication: 2018-11-21T11:00:25Z nulldata: Is there anything here who are familiar with the nanopass framework? 2018-11-21T11:07:25Z xkapastel joined #scheme 2018-11-21T11:13:46Z TheGreekOwl quit (Ping timeout: 272 seconds) 2018-11-21T11:16:10Z jcowan: You definitely want #guile for that. 2018-11-21T11:17:55Z wasamasa: I thought it's a chez thing 2018-11-21T11:18:20Z lavaflow quit (Read error: Connection reset by peer) 2018-11-21T11:19:37Z lavaflow joined #scheme 2018-11-21T11:21:19Z jetchisel quit (Quit: Unfortunately time is always against us -- [Morpheus]) 2018-11-21T11:27:07Z jetchisel joined #scheme 2018-11-21T11:33:45Z jetchisel quit (Ping timeout: 250 seconds) 2018-11-21T11:41:00Z ecraven: nulldata: passingly 2018-11-21T11:41:05Z ecraven: asking in #chez is probably the best thing 2018-11-21T11:41:12Z ecraven: or maybe #racket, there is a port iirc 2018-11-21T11:41:28Z ecraven: but - as always on irc - don't ask to ask, just ask! 2018-11-21T11:51:37Z ecraven: hm.. just starting to finally look into docker seriously, do we have a curated list of Dockerfiles for all the various Schemes? that seems like it would be a good thing to have at some point? 2018-11-21T11:51:50Z ecraven: I'll need to look into this in order to make the benchmarks more portable too, I think 2018-11-21T12:14:26Z jcowan: sorry, I meant #chez of course 2018-11-21T12:16:20Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-21T12:16:31Z jcowan: No, we don't, and I would love to have them. https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ImplementationContrasts.md lists the Schemes that I successfully installed on Linux during WG1 for testing purposes, with links to their home pages. There are a few notes on some difficult-to-install varieties: if it depended on something other than C/C++, I excluded it for reasons of laziness. 2018-11-21T12:17:38Z razzy quit (Remote host closed the connection) 2018-11-21T12:17:52Z razzy joined #scheme 2018-11-21T12:18:23Z Riastradh quit (Ping timeout: 245 seconds) 2018-11-21T12:19:14Z Riastradh joined #scheme 2018-11-21T12:22:03Z ecraven: jcowan: I'll try what i 2018-11-21T12:22:13Z ecraven: I can, once I am more familiar with docker 2018-11-21T12:22:39Z ecraven: but the chicken vs. mono conflict (/usr/bin/csc is claimed by both) means I have to handle this in some way anyway, and docker seems like a decent solution 2018-11-21T12:26:30Z confusedwanderer joined #scheme 2018-11-21T12:30:32Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-21T12:33:29Z klovett joined #scheme 2018-11-21T12:34:43Z jao joined #scheme 2018-11-21T12:37:51Z ng0 joined #scheme 2018-11-21T12:37:54Z klovett quit (Ping timeout: 252 seconds) 2018-11-21T12:46:40Z jetchisel joined #scheme 2018-11-21T12:48:36Z civodul joined #scheme 2018-11-21T12:50:26Z jcowan: Which of course matters if you are going to install IronScheme in particular, though there is no real reason to build it from source. I just put Chicken in /usr/local where it hides Mono's. 2018-11-21T12:51:09Z jcowan: If you have trouble running IronScheme, use the undocumented -emacs switch to get a vanilla terminal experience, though that suppresses the prompt. 2018-11-21T13:00:49Z ManDay: Is there nothing like argmax in the base or std lib? 2018-11-21T13:00:53Z nulldata quit (Ping timeout: 245 seconds) 2018-11-21T13:05:53Z pierpal quit (Quit: Poof) 2018-11-21T13:06:11Z pierpal joined #scheme 2018-11-21T13:09:31Z jao quit (Ping timeout: 250 seconds) 2018-11-21T13:10:12Z jao joined #scheme 2018-11-21T13:10:12Z klovett joined #scheme 2018-11-21T13:13:47Z jetchisel quit (Quit: Unfortunately time is always against us -- [Morpheus]) 2018-11-21T13:15:24Z klovett quit (Ping timeout: 252 seconds) 2018-11-21T13:17:31Z klovett joined #scheme 2018-11-21T13:23:01Z lllll: stdlib? 2018-11-21T13:23:48Z khisanth_ quit (Ping timeout: 245 seconds) 2018-11-21T13:24:14Z ecraven: jcowan: thanks, I'll keep that in mind. I'll try to start on some docker images asap ;) 2018-11-21T13:27:31Z ManDay: lllll: ? 2018-11-21T13:30:09Z lllll: what stdlib 2018-11-21T13:31:46Z ManDay: rXrs 2018-11-21T13:32:10Z ManDay: like... http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-1.html#node_toc_start 2018-11-21T13:33:55Z lllll: ok, sorry 2018-11-21T13:36:38Z lllll: there is only max i think 2018-11-21T13:36:43Z gravicappa quit (Ping timeout: 268 seconds) 2018-11-21T13:37:27Z khisanth_ joined #scheme 2018-11-21T13:38:54Z ManDay: max is a special case of (argmax identity somelist) :-/ 2018-11-21T13:42:16Z lritter joined #scheme 2018-11-21T13:52:27Z lllll: when profiling scheme programs you can create custom syntax for define, and count executions with some variable 2018-11-21T13:52:56Z lllll: but how to count the time of each execution? 2018-11-21T13:53:51Z lllll: would be more helpful in locating bottlenecks 2018-11-21T13:55:31Z InverseRhombus quit (Remote host closed the connection) 2018-11-21T13:56:25Z ManDay: wrap it! don't question the beauty of it! 2018-11-21T13:56:57Z ManDay: (x) -> (call-with-timing (x start-timer)) 2018-11-21T13:57:22Z ManDay: It's not guaranteed to make any sense, but since when is profiling supposed to make sense anyhow 2018-11-21T14:05:18Z ng0 quit (Remote host closed the connection) 2018-11-21T14:08:05Z ogamita: Write an eval doing that recursively for the subexpressions. 2018-11-21T14:23:25Z InverseRhombus joined #scheme 2018-11-21T14:24:05Z lllll: writing custom eval seems like an overkill 2018-11-21T14:24:15Z lllll: ill try to write a wrapper 2018-11-21T14:25:28Z ManDay: I don't wanna be a pain, but it is reaaallly questionable how much insight such a timing will yield 2018-11-21T14:26:54Z ManDay: i have no clue about the capabilities of scheme implementations out there, but if they do just any optimization at all, like detect independent/parallel branches or the like, it ends up heavily depending on what exactly it is that you're trying to measure and how the compiler deals with it 2018-11-21T14:27:59Z ManDay: you might be lucky, but you might also just get completely meaningless results or stuff which would turn out very different for a different impl. 2018-11-21T14:29:18Z lllll: just trying to understand why my program is so slow, especially compared to a python code doing almost exactly the same thing 2018-11-21T14:29:27Z ManDay: i mean, performant implementations is all good and i general comparison like chez does XYZ m-times faster than racket or so in all honour, but scheme isn't about speed. 2018-11-21T14:29:58Z ManDay: lllll: well, the worst thing that can happen is that the result you get don't make any sense 2018-11-21T14:30:19Z ManDay: or you might find that the python compiler does a much better optimization 2018-11-21T14:30:26Z ManDay: good luck anyway! 2018-11-21T14:31:26Z lllll: thanks 2018-11-21T14:33:28Z lllll: i thought it's a problem with vectors containing floating numbers 2018-11-21T14:34:25Z lllll: with ffi i got a major speed up, but only with vectors much larger than the ones im using 2018-11-21T14:36:41Z lllll: with the matrices im using plain scheme is faster than translating back and forth with ffi 2018-11-21T14:51:00Z lllll: but then again -- python with numpy abstracting only matrix operations is orders of magnitude faster 2018-11-21T14:52:32Z Inline joined #scheme 2018-11-21T14:52:41Z elderK quit (Ping timeout: 244 seconds) 2018-11-21T14:54:40Z elderK joined #scheme 2018-11-21T14:58:04Z qu1j0t3: isn't that because numpy has a C kernel? 2018-11-21T14:59:35Z fmnt joined #scheme 2018-11-21T15:01:55Z ManDay: yeah, numpy being one of the most widely used high level numerics lib is way above any league, not to mention schemes 2018-11-21T15:02:09Z ManDay: linear algebra.... forget it 2018-11-21T15:02:16Z ManDay: you won't even get close to their perf 2018-11-21T15:03:27Z ng0 joined #scheme 2018-11-21T15:04:49Z Zaab1t quit (Ping timeout: 246 seconds) 2018-11-21T15:19:31Z Zaab1t joined #scheme 2018-11-21T15:28:41Z amoe_ quit (Quit: leaving) 2018-11-21T15:28:56Z amoe joined #scheme 2018-11-21T15:29:30Z skapata joined #scheme 2018-11-21T15:35:06Z ManDay: What's the simplest way to repeat a side-effect N times? I was thinking (for-each foo! list-of-N) but how do I create an arbitrary list of N elements? 2018-11-21T15:36:49Z ManDay: hm, guile has (make-list) 2018-11-21T15:37:23Z ogamita: ManDay: (dotimes (i n) (side-effect)) 2018-11-21T15:37:53Z ManDay: that's not in r6rs either 2018-11-21T15:38:05Z ManDay: what's that i anyway? 2018-11-21T15:38:39Z ogamita: Sorry, indeed, it's not in r5rs. 2018-11-21T15:38:48Z ogamita: You'd have to use do or named let. 2018-11-21T15:39:32Z ogamita: (do ((i n (- i 1))) ((<= i 0)) (side-effect)) 2018-11-21T15:39:54Z ogamita: or define a syntax for dotimes expanding to that do. 2018-11-21T15:41:22Z ogamita: ManDay: you can also write a higher order function similar to for-each. (define (repeat n what) (if (< 0 n) (begin (what) (repeat (- n 1))))) (repeat n foo!) 2018-11-21T15:41:47Z ManDay: ogamita: yeah thanks but writing the function is not my problem 2018-11-21T15:41:58Z ManDay: i was just looking for the most convenient way. make-list will do 2018-11-21T15:42:23Z ogamita: Not's not convenient and nice to create big data structures just to loop over their sizes! 2018-11-21T15:42:58Z ManDay: :-P 2018-11-21T15:43:16Z ogamita: Next, repeat is convenient if you need to repeat only a procedure call. dotimes is more convinient if you have several expressions to repeat, which is often the case for side effects. 2018-11-21T15:43:51Z ManDay: I'm really just debugging some stuff here, no worries 2018-11-21T15:43:55Z ManDay: it's not part of my code ;) 2018-11-21T15:44:09Z ogamita: ok. 2018-11-21T15:46:07Z klovett_ joined #scheme 2018-11-21T15:47:52Z klovett quit (Ping timeout: 246 seconds) 2018-11-21T16:05:20Z ManDay: guile backtraces are such a useless junk, gnaaa 2018-11-21T16:05:48Z ManDay: not sure whether all guile developers always right bug-free programs right from the start or whether they don't use guile at all 2018-11-21T16:05:58Z ManDay: in any case, no one in their right mind can be happy with this 2018-11-21T16:06:27Z jetchisel joined #scheme 2018-11-21T16:18:14Z wasamasa: have you asked on the mailing list yet? 2018-11-21T16:18:56Z ManDay: nope 2018-11-21T16:19:23Z wasamasa: you know what to do :> 2018-11-21T16:19:34Z wasamasa: from what I've seen, it's decent 2018-11-21T16:19:42Z wasamasa: not too much traffic and helpful replies 2018-11-21T16:19:53Z wasamasa: much like the one for my preferred scheme :D 2018-11-21T16:20:02Z wasamasa: and don't worry, it doesn't even have backtraces 2018-11-21T16:20:07Z ManDay: heh 2018-11-21T16:20:08Z wasamasa: only calltraces 2018-11-21T16:20:13Z ManDay: wait 2018-11-21T16:20:26Z ManDay: what's the difference? 2018-11-21T16:20:37Z wasamasa: backtraces are hierarchical, calltraces are a flat list 2018-11-21T16:21:04Z wasamasa: so they are harder to make sense of and require a larger size for analysis 2018-11-21T16:21:45Z ManDay: so what is a calltrace? a -> b -> c -> d ? How is that not a backtrace? 2018-11-21T16:21:56Z wasamasa: no, you see a flat list of the last calls 2018-11-21T16:22:09Z wasamasa: as opposed to a tree where you see which call made which one 2018-11-21T16:22:11Z ManDay: yeah that's about the info I get from guile backtraces, too 2018-11-21T16:22:38Z ManDay: it's like local lambdas or named lets are too dificult to backtrace or display as such 2018-11-21T16:22:51Z wasamasa: so in java I get a tree or two, in CHICKEN I get a list of function calls 2018-11-21T16:23:00Z wasamasa: and can configure how long the list is 2018-11-21T16:23:11Z ManDay: wasamasa: now you lost me again 2018-11-21T16:23:20Z wasamasa: well, I just named two examples 2018-11-21T16:23:31Z ManDay: if I see a flat list of last calls, what's the order of that list if not the order in which one called the next? 2018-11-21T16:23:57Z wasamasa: well, you're not accounting for things such as loops 2018-11-21T16:24:28Z ManDay: you mean recursion? 2018-11-21T16:24:34Z ManDay: i always write pure, anything else doesn't really bother me 2018-11-21T16:25:12Z wasamasa: in the tree I can deduce what called the failing part until the root cause, in the list I just see function calls that were called before that 2018-11-21T16:25:50Z ManDay: wasamasa: can I give you a short snippet and you paste me your output? 2018-11-21T16:25:51Z wasamasa: since a let-binding isn't a function call, I don't see that either 2018-11-21T16:26:14Z ManDay: wasamasa: not the binding, but the recursion, i presume 2018-11-21T16:27:08Z wasamasa: well, I'd have to come up with an academic, but relevant example first :P 2018-11-21T16:27:21Z ManDay: https://ideone.com/VdbCzn 2018-11-21T16:27:25Z ManDay: this one is entirely relevant to me 2018-11-21T16:27:27Z wasamasa: what I'm comparing from memory are logs from web services, the scheme ones are useless compared to the clojure ones 2018-11-21T16:27:32Z oni-on-ion: i think perhaps what wasamasa refers to is called the Source Code. 2018-11-21T16:27:34Z ManDay: i mean... the error on ideone is even more telling than what i get in 2.2 2018-11-21T16:28:14Z edw: ManDay: Regarding your iterators question, you may want to skim through this thing I wrote back in '05. I wrote a sample generator implementation and then converted it to a macro in an effort to explain why non-Lisps are a waste of one's time: https://gist.github.com/edw/0cdab06e0bd845460b9e18cab5bd3f4c 2018-11-21T16:28:56Z robotoad joined #scheme 2018-11-21T16:29:46Z wasamasa: https://ptpb.pw/oS4_ 2018-11-21T16:29:54Z wasamasa: this is CHICKEN for you 2018-11-21T16:31:14Z ManDay: wasamasa: infinitely better than what I get from guile! 2018-11-21T16:31:17Z ManDay: thanks 2018-11-21T16:31:24Z wasamasa: also, for better debugging you'll want to do something more standard than pk 2018-11-21T16:31:38Z wasamasa: and not use [] 2018-11-21T16:31:49Z wasamasa: this keeps me from testing it in kawa 2018-11-21T16:31:54Z ManDay: edw: Thanks, I'm happy with my "strip" solution right now, but I'll have a look maybe I can learn something from it 2018-11-21T16:31:55Z dbmikus joined #scheme 2018-11-21T16:32:07Z ManDay: wasamasa: say what? 2018-11-21T16:33:24Z wasamasa: https://ptpb.pw/yJJQ 2018-11-21T16:33:56Z wasamasa: I'd expect racket to be best in this 2018-11-21T16:34:09Z wasamasa: ManDay: pk is undefined, [] is implementation-defined 2018-11-21T16:34:27Z ManDay: wasamasa: is it tho? 2018-11-21T16:34:29Z wasamasa: ManDay: to test this error you could just replace pk with display 2018-11-21T16:34:38Z ManDay: says in r6rs <> and [] and () are all valid delims 2018-11-21T16:35:04Z wasamasa: this won't get you far when testing with other schemes, considering the lack of r6rs implementations 2018-11-21T16:35:09Z ManDay: wasamasa: those pk are just for debugging ofc 2018-11-21T16:35:19Z wasamasa: sure, but since it isn't even called, you could omit it 2018-11-21T16:35:30Z wasamasa: the error happens when evaluating its argument 2018-11-21T16:35:30Z ManDay: what? 2018-11-21T16:35:49Z ManDay: nvm 2018-11-21T16:36:06Z wasamasa: if a scheme evaluates the argument first, the missing definition for pk isn't an issue, however if it does, then you have to fix that first 2018-11-21T16:41:56Z wasamasa: I've compared guile 2.2 and 2.0 and see what you mean 2018-11-21T16:42:09Z wasamasa: but hey, at least you get some arguments displayed, I don't get any displayed 2018-11-21T16:42:18Z wasamasa: this is considered a better, not worse thing 2018-11-21T16:42:54Z wasamasa: in guile 1.8 I don't even get a backtrace, just a single error line 2018-11-21T16:44:38Z ManDay: dude 2018-11-21T16:44:52Z ManDay: let me paste you what *I* get from guile, and you'll understand my frustration!!! 2018-11-21T16:45:16Z wasamasa: !!! 2018-11-21T16:45:20Z ManDay: !!!!!111 2018-11-21T16:47:51Z ManDay: https://ideone.com/mYR9Cm <- guile2.2 output is in the notes on the right hand 2018-11-21T16:48:57Z ManDay: And I'm just ignoring the fact that it thinks this file is "unknown" for now 2018-11-21T16:50:02Z wasamasa: I recommend you to not use that service then 2018-11-21T16:50:13Z ManDay: which service? 2018-11-21T16:50:22Z wasamasa: ideone 2018-11-21T16:50:31Z wasamasa: because no, I cannot reproduce this 2018-11-21T16:50:43Z wasamasa: it's a mystery to me why you'd use them anyway 2018-11-21T16:50:43Z ManDay: you misunderstand: I just used ideone to paste 2018-11-21T16:51:00Z ManDay: look at the "nodes" on the right, there i pasted the guile2.2 output 2018-11-21T16:51:19Z ManDay: let me make this clearer 2018-11-21T16:52:11Z ManDay: Code: https://ideone.com/VmSZYM Error: https://ideone.com/XGo3Gd 2018-11-21T16:53:01Z wasamasa: https://ptpb.pw/vQ6V 2018-11-21T16:54:05Z wasamasa: guile 2.2.4 here 2018-11-21T16:56:21Z wasamasa: so who knows, maybe a update will fix it 2018-11-21T16:58:04Z oni-on-ion: guile 2.9.1 says ":21:4: Wrong type to apply: ((10 . 23) (15 . 19)) " 2018-11-21T17:02:39Z ManDay_ joined #scheme 2018-11-21T17:02:45Z ManDay_: Sorry webchat kicked me out 2018-11-21T17:02:47Z ManDay_: gotta run anyway 2018-11-21T17:02:59Z ManDay_: but you're right it looks better in the newer version 2018-11-21T17:03:11Z ManDay_: i'll hope an upgrade will improve the situation 2018-11-21T17:03:19Z ManDay quit (Ping timeout: 256 seconds) 2018-11-21T17:03:24Z ManDay_: thanks, talk to y'all later 2018-11-21T17:03:32Z ManDay_ quit (Client Quit) 2018-11-21T17:11:07Z ManDay joined #scheme 2018-11-21T17:11:15Z ManDay: still got a few minutes, i learned 2018-11-21T17:11:29Z ManDay: fwiw, i get the same error now. god knows what happend or what i did wrong 2018-11-21T17:16:11Z gravicappa joined #scheme 2018-11-21T17:16:21Z fmnt quit (Quit: Leaving.) 2018-11-21T17:20:09Z oni-on-ion: same as ? missing a . between? 2018-11-21T17:20:45Z ManDay: same as wasamasa 2018-11-21T17:21:15Z ManDay: the mistake, yeah... that was a paren to many... should be (du x b) and was (du (x b)) 2018-11-21T17:21:32Z oni-on-ion: ah 2018-11-21T17:21:36Z ManDay: i get the same errors as wasamasa after I fixed *that* - not sure how he got that error without fixing it 2018-11-21T17:21:53Z oni-on-ion: he may have typed it by hand and subconsciously added 2018-11-21T17:21:55Z ManDay: anyway, kind of solved until the next backtrace that I can't parse ^^ 2018-11-21T17:22:00Z ManDay: i suppose 2018-11-21T17:22:13Z oni-on-ion: really liking chicken over here 2018-11-21T17:22:36Z ManDay: yeah, i'll have a look. i tried racket a few days ago but those backtraces were almost worse 2018-11-21T17:22:55Z ManDay: (maybe i didn't use it properly, i admit i just a quick shot at it) 2018-11-21T17:23:39Z oni-on-ion: wasamasa says chicken backtrace isnt so good, i think, and i cant speak for that aspect of it 2018-11-21T17:24:58Z oni-on-ion: i've always liked guile, i was also looking at Chez because racket will be using that as its core anyway (so i'd call it racket-style chez, then?) 2018-11-21T17:28:48Z klovett_ quit 2018-11-21T17:29:10Z confusedwanderer: racket looks like this: https://ptpb.pw/iPNv 2018-11-21T17:32:00Z confusedwanderer quit (Remote host closed the connection) 2018-11-21T17:32:14Z confusedwanderer joined #scheme 2018-11-21T17:34:59Z oni-on-ion: hm that looks nice imo 2018-11-21T17:36:09Z confusedwanderer: not too bad I think 2018-11-21T17:36:18Z confusedwanderer: Chez looks like this: Exception: attempt to apply non-procedure ((10 . 23) (15 . 19)) 2018-11-21T17:37:12Z pjb joined #scheme 2018-11-21T17:38:42Z confusedwanderer: with chez you can also --debug-on-exception, which puts you in the debugger when the error happens 2018-11-21T17:39:38Z ski quit (Ping timeout: 245 seconds) 2018-11-21T17:40:36Z ski joined #scheme 2018-11-21T17:42:09Z oni-on-ion uses geiser 2018-11-21T17:44:09Z ecraven: I still haven't found any Scheme that gets even remotely close to CL for debuggability :-/ 2018-11-21T17:44:28Z ecraven: MIT isn't half bad, most others I don't know well enough 2018-11-21T17:44:40Z Riastradh: printf goes a long way in a pinch. 2018-11-21T17:45:31Z Riastradh: Sometimes printf isn't available, in which case you may have to descend to hammering on the right CPU output port to make the system console beep. 2018-11-21T17:45:41Z Riastradh: ...wait, what channel am I in? 2018-11-21T17:45:57Z oni-on-ion: mhm; never myself needed so much debugging, perhaps because i spend that time in making sure of the code. which as a side effect causes the benefit of "becoming" the compiler 2018-11-21T17:46:10Z oni-on-ion: #raspi ? 2018-11-21T17:48:09Z brendyyn quit (Ping timeout: 250 seconds) 2018-11-21T17:48:59Z brendyyn joined #scheme 2018-11-21T17:49:27Z jetchisel quit (Ping timeout: 240 seconds) 2018-11-21T17:52:05Z jetchisel joined #scheme 2018-11-21T17:58:52Z InverseRhombus quit (Remote host closed the connection) 2018-11-21T18:10:29Z klovett joined #scheme 2018-11-21T18:28:52Z acarrico quit (Ping timeout: 272 seconds) 2018-11-21T18:38:53Z Zenton quit (Ping timeout: 268 seconds) 2018-11-21T18:39:05Z edw: FYI Chibi bug write-up: . 2018-11-21T18:56:20Z Zaab1t quit (Quit: bye bye friends) 2018-11-21T18:59:51Z jao quit (Ping timeout: 268 seconds) 2018-11-21T19:01:22Z fmnt joined #scheme 2018-11-21T19:01:58Z jao joined #scheme 2018-11-21T19:16:16Z robotoad quit (Quit: robotoad) 2018-11-21T19:16:21Z DGASAU joined #scheme 2018-11-21T19:22:25Z Zipheir quit (Remote host closed the connection) 2018-11-21T19:24:36Z kjak quit (Quit: Lost terminal) 2018-11-21T19:24:59Z Zipheir joined #scheme 2018-11-21T19:25:21Z InverseRhombus joined #scheme 2018-11-21T19:25:49Z Perkol joined #scheme 2018-11-21T19:27:46Z kjak joined #scheme 2018-11-21T19:33:28Z mejja joined #scheme 2018-11-21T19:36:27Z fmnt quit (Quit: Leaving.) 2018-11-21T19:43:19Z amz3 joined #scheme 2018-11-21T19:44:42Z sethalves quit (Ping timeout: 252 seconds) 2018-11-21T19:45:01Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-21T19:54:18Z zachk joined #scheme 2018-11-21T19:59:38Z flerovite quit (Ping timeout: 245 seconds) 2018-11-21T20:00:39Z debsan quit (Excess Flood) 2018-11-21T20:00:45Z flerovite joined #scheme 2018-11-21T20:01:38Z debsan joined #scheme 2018-11-21T20:01:39Z debsan quit (Changing host) 2018-11-21T20:01:39Z debsan joined #scheme 2018-11-21T20:03:43Z Perkol quit (Remote host closed the connection) 2018-11-21T20:05:19Z sethalves joined #scheme 2018-11-21T20:05:31Z flerovite quit (Ping timeout: 250 seconds) 2018-11-21T20:07:23Z zachk quit (Changing host) 2018-11-21T20:07:23Z zachk joined #scheme 2018-11-21T20:08:22Z debsan quit (Ping timeout: 252 seconds) 2018-11-21T20:13:23Z debsan joined #scheme 2018-11-21T20:13:24Z debsan quit (Changing host) 2018-11-21T20:13:24Z debsan joined #scheme 2018-11-21T20:28:24Z energizer quit (Quit: ZNC 1.7.0+deb0+xenial1 - https://znc.in) 2018-11-21T20:29:38Z energizer joined #scheme 2018-11-21T20:37:43Z daviid` joined #scheme 2018-11-21T20:38:38Z lllll: in (lambda (x) a b c) are a, b and c evaluated sequentially? 2018-11-21T20:38:45Z rain1: yeah 2018-11-21T20:38:49Z rain1: it has an implicit BEGIN 2018-11-21T20:39:01Z lllll: thx 2018-11-21T20:39:22Z daviid quit (Ping timeout: 244 seconds) 2018-11-21T20:39:32Z energizer_ joined #scheme 2018-11-21T20:41:10Z grettke joined #scheme 2018-11-21T20:43:19Z energizer_ quit (Client Quit) 2018-11-21T20:44:23Z jcowan: lllll: But that only makes sense if a and b are procedure calls invoked for their effects 2018-11-21T20:44:48Z lllll: yes 2018-11-21T20:50:56Z aeth: An easy way to find out if a form has an implicit begin is to put print procedure calls in them and see if they run. Alternatively, do it first with a begin and then remove the begin and see if it makes a difference. 2018-11-21T20:51:10Z rain1: or check the spec :P 2018-11-21T20:51:27Z aeth: rain1: only if it's in the spec 2018-11-21T20:51:39Z rain1: it is 2018-11-21T20:51:50Z aeth: Yes, my method is a general method, though. 2018-11-21T20:51:58Z rain1: your method is completely idiotic 2018-11-21T20:52:40Z Zenton joined #scheme 2018-11-21T20:53:26Z aeth: Sure, placing noticable side effect procedure calls to see if noticable side effect procedure calls happen is idiotic. 2018-11-21T20:54:58Z aeth: You learn a Lisp by exploring in the REPL with simple test cases. Even when it's documented, it's often faster. 2018-11-21T20:55:29Z wasamasa: just put more than one thing in it 2018-11-21T20:55:44Z wasamasa: if it's an error, there is no implicit begin 2018-11-21T20:56:10Z gwatt: Sometimes things are variadic, that's not always going to work 2018-11-21T20:56:19Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-21T20:56:54Z ski quit (Remote host closed the connection) 2018-11-21T20:57:48Z gwatt: Sorry, that reads awkwardly. Sometimes syntax will have multiple "arguments" that are processed by the macro but do not end up in the runtime. 2018-11-21T20:58:27Z confusedwanderer quit (Remote host closed the connection) 2018-11-21T20:58:50Z gwatt: Or maybe they are in the runtime but have other affects. 2018-11-21T20:58:56Z gwatt: like syntax-case guard forms 2018-11-21T20:59:10Z aeth: M-. in Emacs can be a good hint if there's no documentation or the documentation is weak. Not even necessarily thoroughly reading the source. e.g. If you see a variable named "body" that's probably saying it has an implicit begin 2018-11-21T20:59:42Z aeth: The lack of a binding called body doesn't mean that it doesn't have one, though. 2018-11-21T21:01:27Z Riastradh: rain1: Testing the response of a system to an impulse is a pretty foundational engineering technique! I don't think it's fair to call someone idiotic for suggesting that when confronted with an unfamiliar system. Obviously doing that _exclusively_ is pretty stupid, but I don't think aeth was advocating eschewing all documentation in favour of doing science on things. 2018-11-21T21:01:43Z Riastradh: Excuse me, to call someone an idiot, by way of calling their methods idiotic. 2018-11-21T21:02:11Z daviid` quit (Quit: ERC (IRC client for Emacs 25.2.2)) 2018-11-21T21:04:22Z aeth: Ime never trust the documentation to correctly describe a system. Sure, read it as a hint, but then verify it with test cases and (if you can read it... implementations can have messy internals, so this is more of a library thing) read the source. 2018-11-21T21:05:38Z daviid joined #scheme 2018-11-21T21:05:43Z aeth: Of course, when it comes to language implementations 99 times out of 100 it will be an error on your end, not the implementation's, and the remaining case, you'll have found the problem through a much more elaborate investigation (such as reading the generated assembly). 2018-11-21T21:13:03Z gravicappa quit (Ping timeout: 268 seconds) 2018-11-21T21:20:11Z Zenton quit (Ping timeout: 244 seconds) 2018-11-21T21:21:29Z Zipheir: Although doing things a certain way because and only because it worked the last 5 times gets you a free membership in a cargo cult. 2018-11-21T21:24:13Z Zenton joined #scheme 2018-11-21T21:26:19Z SirDayBat quit (Ping timeout: 246 seconds) 2018-11-21T21:26:26Z SirDayBat joined #scheme 2018-11-21T21:28:17Z dbmikus quit (Ping timeout: 250 seconds) 2018-11-21T21:38:54Z TheGreekOwl joined #scheme 2018-11-21T21:40:48Z ngz joined #scheme 2018-11-21T21:46:11Z lavaflow quit (Quit: WeeChat 2.2) 2018-11-21T21:58:35Z sz0 joined #scheme 2018-11-21T21:59:58Z grettke joined #scheme 2018-11-21T22:15:04Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-21T22:21:26Z klovett quit 2018-11-21T22:22:37Z klovett joined #scheme 2018-11-21T22:30:43Z robotoad joined #scheme 2018-11-21T22:38:35Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-21T22:44:14Z aeth: Zipheir: that's why you need to know 10 ways to do something and be flexible 2018-11-21T22:49:33Z ManDay quit (Ping timeout: 256 seconds) 2018-11-21T23:00:00Z jetchisel quit (Quit: Unfortunately time is always against us -- [Morpheus]) 2018-11-21T23:04:27Z ngz quit (Ping timeout: 252 seconds) 2018-11-21T23:08:58Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-21T23:31:36Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-21T23:39:35Z jonaslund joined #scheme 2018-11-21T23:43:03Z acarrico joined #scheme 2018-11-21T23:47:36Z grettke joined #scheme 2018-11-22T00:08:04Z noobly joined #scheme 2018-11-22T00:08:10Z noobly: in the little schemere, there is a function as such: (define even? (lambda (n) (= (* (/ n 2) 2) n))). SO, because (* (/ n 2) 2) alwasy equals n, I've come to the conclusion that this either errata, a quirk of a specific scheme dialect. I'm using guile.. any help here? 2018-11-22T00:12:34Z qu1j0t3: noobly: it's not true when / is integer division 2018-11-22T00:12:58Z qu1j0t3: noobly: which you can check in any scheme by evaluating (/ 1 2) 2018-11-22T00:13:44Z noobly: qu1j0t3: just checked and it evaluates to 1/2, I suppose finding the integer division function for guile will fix my problems 2018-11-22T00:13:48Z qu1j0t3: yeah 2018-11-22T00:14:00Z qu1j0t3: in Chicken it is also floating point division, so that definition wouldn't work there either 2018-11-22T00:14:16Z noobly: thanks 2018-11-22T00:14:22Z qu1j0t3: np, well spotted 2018-11-22T00:15:25Z mejja quit (Quit: mejja) 2018-11-22T00:16:08Z noobly: yeah I spent about an hour thinking it was a parenthetical error in a function that utilizes "evens?" since my results were all wrong lol 2018-11-22T00:18:01Z qu1j0t3: :) 2018-11-22T00:18:18Z qu1j0t3: i wonder if that's ever been footnoted in a newer edition 2018-11-22T00:18:55Z noobly: i tried looking around the web (thinking it was an obvious error) but didnt pull anything up 2018-11-22T00:20:02Z noobly: (= (modulo n 2) 0) it is then! thanks again 2018-11-22T00:20:07Z qu1j0t3: exactly 2018-11-22T00:21:26Z noobly quit (Quit: Page closed) 2018-11-22T00:21:45Z aeth: (/ n 2) should give you n/2 so e.g. (/ 5 2) will give you 5/2 2018-11-22T00:22:01Z aeth: The dialect in The Little Schemer must be really, really old 2018-11-22T00:22:45Z aeth: (Note that it will only give you a rational if it's an integer. If it's a floating point it will give you a floating point, so (/ 5.0 2) will give you 2.5) 2018-11-22T00:23:31Z klovett quit 2018-11-22T00:23:32Z aeth: (Note also that my defintion will apply if it is even because writing the literal 10/2 will give you 5 as the result.) 2018-11-22T00:24:06Z aeth: Your implementation might have a way to do integer division, though. 2018-11-22T00:24:22Z qu1j0t3: modulo is equally good, or arguably better 2018-11-22T00:24:38Z aeth: e.g. in Common Lisp, FLOOR has an optional divisor argument so the first result of (floor 5 2) is 2 2018-11-22T00:25:00Z aeth: If that is in Scheme, it's probably a different name in every Scheme, with or without the optional second argument of the remainder (in this case 1) 2018-11-22T00:26:49Z sethalves quit (Ping timeout: 250 seconds) 2018-11-22T00:27:38Z lllll: or you can use div 2018-11-22T00:27:44Z lllll: instead of / 2018-11-22T00:29:13Z lllll: sorry, it's not in guile 2018-11-22T00:37:27Z GGMethos quit (Ping timeout: 276 seconds) 2018-11-22T00:38:44Z daviid quit (Ping timeout: 272 seconds) 2018-11-22T00:40:43Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-22T00:43:33Z lritter quit (Remote host closed the connection) 2018-11-22T00:47:54Z Riastradh: aeth: Pretty much everything supports quotient for truncating division. 2018-11-22T00:48:04Z Riastradh: rudybot: eval (quotient 5 2) 2018-11-22T00:48:15Z rudybot: Riastradh: error: with-limit: out of time 2018-11-22T00:48:20Z Riastradh: ??? 2018-11-22T00:48:21Z Riastradh: rudybot: eval (quotient 5 2) 2018-11-22T00:48:23Z rudybot: Riastradh: your r5rs sandbox is ready 2018-11-22T00:48:23Z rudybot: Riastradh: ; Value: 2 2018-11-22T01:06:34Z aeth: Riastradh: Pretty much everything should support it, but I wouldn't be surprised if a Scheme does not. It looks like it wouldn't follow r5rs or r7rs, though. 2018-11-22T01:06:50Z aeth: It looks like floor/ in r7rs behaves like floor in Common Lisp 2018-11-22T01:07:08Z aeth: (the difference is that the second argument isn't implicitly 1 if not provided, and is required) 2018-11-22T01:08:01Z daviid joined #scheme 2018-11-22T01:08:33Z aeth: (if missing argument errors aren't portable, then you could turn floor/ into a direct copy of CL's floor with the second argument turned into an optional with the default value of 1) 2018-11-22T01:08:56Z klovett joined #scheme 2018-11-22T01:12:57Z klovett_ joined #scheme 2018-11-22T01:14:07Z Riastradh: quotient has been there since probably the R3RS or so. 2018-11-22T01:14:36Z Riastradh: aeth: Common Lisp's floor is also designed under the assumption that extra return values get ignored. 2018-11-22T01:15:16Z Riastradh: http://people.csail.mit.edu/jaffer/r3rs_8.html#SEC50 2018-11-22T01:16:44Z klovett quit (Ping timeout: 272 seconds) 2018-11-22T01:19:35Z Methos_ joined #scheme 2018-11-22T01:23:01Z zachk quit (Quit: Leaving) 2018-11-22T01:59:08Z Riastradh: aeth: https://dspace.mit.edu/bitstream/handle/1721.1/5600/AIM-848.pdf?sequence=2#page=39 2018-11-22T02:00:22Z pierpal quit (Ping timeout: 250 seconds) 2018-11-22T02:03:02Z Riastradh: T had it since 3.0 ; MIT Scheme has had it since 1986, and probably earlier, but the git log doesn't go back any further than that. 2018-11-22T02:03:19Z Zipheir: The fourth edition of The Little Schemer doesn't use / and gives a definition that is basically equivalent to quotient. (p. 75) 2018-11-22T02:04:34Z Zipheir: So noobly must have a really old edition or something. 2018-11-22T02:08:29Z lambda-11235 joined #scheme 2018-11-22T02:08:56Z lavaflow joined #scheme 2018-11-22T02:12:15Z jcowan joined #scheme 2018-11-22T02:15:47Z aeth: I'm glad they fixed it. 2018-11-22T02:16:26Z aeth: The numeric tower at this point is a pretty key point of anything that should call itself a Lisp imo 2018-11-22T02:17:37Z jcowan: True, although Scheme's tower is not isomorphic with Common Lisp's, and Pure has one too. 2018-11-22T02:18:02Z Zipheir: In general the Little books define their own procedures (beyond the very basics) and don't rely on weird implementation details. 2018-11-22T02:18:40Z Zipheir: So I'm curious as to whether it's actually written with / in older editions... 2018-11-22T02:18:48Z jao quit (Disconnected by services) 2018-11-22T02:19:26Z jao joined #scheme 2018-11-22T02:37:22Z daviid` joined #scheme 2018-11-22T02:41:21Z daviid` quit (Read error: Connection reset by peer) 2018-11-22T02:41:44Z daviid quit (Ping timeout: 268 seconds) 2018-11-22T02:43:06Z X-Scale quit (Ping timeout: 244 seconds) 2018-11-22T02:51:23Z robotoad quit (Quit: robotoad) 2018-11-22T02:56:40Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-22T02:57:14Z grettke joined #scheme 2018-11-22T02:59:19Z Zaab1t joined #scheme 2018-11-22T03:05:51Z X-Scale joined #scheme 2018-11-22T03:08:09Z robotoad joined #scheme 2018-11-22T03:12:05Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-22T03:16:41Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-22T03:20:32Z klovett_ quit (Read error: Connection reset by peer) 2018-11-22T03:38:16Z klovett joined #scheme 2018-11-22T03:50:37Z jao quit (Ping timeout: 246 seconds) 2018-11-22T04:38:12Z pierpal joined #scheme 2018-11-22T04:41:39Z Zaab1t quit (Quit: bye bye friends) 2018-11-22T04:57:36Z grettke joined #scheme 2018-11-22T05:02:20Z elderK quit (Ping timeout: 268 seconds) 2018-11-22T05:07:29Z jao joined #scheme 2018-11-22T05:14:49Z jao quit (Remote host closed the connection) 2018-11-22T05:20:22Z permagreen quit (Remote host closed the connection) 2018-11-22T05:37:40Z acarrico quit (Ping timeout: 272 seconds) 2018-11-22T05:39:06Z jao joined #scheme 2018-11-22T05:42:31Z acarrico joined #scheme 2018-11-22T05:42:36Z elderK joined #scheme 2018-11-22T05:44:42Z permagreen joined #scheme 2018-11-22T05:59:12Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T05:59:29Z pierpal joined #scheme 2018-11-22T06:09:36Z wigust- joined #scheme 2018-11-22T06:11:47Z wigust quit (Ping timeout: 240 seconds) 2018-11-22T06:16:27Z jao quit (Ping timeout: 240 seconds) 2018-11-22T06:17:24Z Inline quit (Quit: Leaving) 2018-11-22T06:17:52Z Zipheir quit (Remote host closed the connection) 2018-11-22T06:26:33Z gravicappa joined #scheme 2018-11-22T06:51:46Z TheGreekOwl quit (Ping timeout: 272 seconds) 2018-11-22T06:54:47Z acarrico quit (Ping timeout: 240 seconds) 2018-11-22T07:09:00Z xkapastel joined #scheme 2018-11-22T07:43:00Z decent-username joined #scheme 2018-11-22T08:13:50Z lambda-11235 quit (Quit: Bye) 2018-11-22T08:16:33Z skapata quit (Remote host closed the connection) 2018-11-22T08:32:24Z decent-username: Does cons in Scheme work differntly than the cons in Common Lisp? 2018-11-22T08:32:43Z ecraven: cons creates new pairs in either 2018-11-22T08:33:04Z decent-username: I don't seem to be able to cons a number to nil. (cons 1 nil) 2018-11-22T08:33:33Z ecraven: ah, cons works fine, but there is no NIL in Scheme 2018-11-22T08:33:35Z ecraven: (cons 1 '()) 2018-11-22T08:33:44Z decent-username: ohhhhhhhhhhhhhhhhhh 2018-11-22T08:33:54Z decent-username: ok :) 2018-11-22T08:33:55Z ecraven: (define nil '()) if you want, but that won't always work ('nil is still a symbol, not the empty list) 2018-11-22T08:34:10Z ecraven: Scheme separates #f from '() (and neither of them is calle d 2018-11-22T08:34:12Z ecraven: called NIL) 2018-11-22T08:34:51Z decent-username: thanks for clarifying 2018-11-22T08:35:28Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-22T08:41:07Z aeth: there can be a nil (equivalent to '()) there just usually isn't 2018-11-22T08:42:06Z ecraven: aeth: how would you make that self-evaluating? 2018-11-22T08:42:10Z ecraven: (without special compiler support) 2018-11-22T08:42:18Z civodul joined #scheme 2018-11-22T08:43:37Z aeth: ecraven: I suspect that it's implementation-specific behavior that is in some implementations for compatibility with older Lisps. 2018-11-22T08:43:57Z ecraven: aeth: interesting, I don't think I've seen this.. which implementation did you see this in? 2018-11-22T08:44:04Z aeth: I've seen it in Scheme code. 2018-11-22T08:44:13Z aeth: I worked around it with (define nil '()) of course 2018-11-22T08:45:10Z aeth: Someone here probably knows which implementations have a nil as empty list, if any. 2018-11-22T08:45:42Z TheGreekOwl joined #scheme 2018-11-22T08:46:20Z TheGreekOwl quit (Remote host closed the connection) 2018-11-22T08:49:27Z keep_learning joined #scheme 2018-11-22T08:49:53Z aeth: It has been a while so I don't recall the details, only the workaround to get the code to run. 2018-11-22T08:52:06Z daviid joined #scheme 2018-11-22T09:15:28Z edgar-rft quit (Quit: Leaving) 2018-11-22T09:25:48Z jetchisel joined #scheme 2018-11-22T09:36:47Z decent-username: SICP is super fun :3 2018-11-22T09:37:16Z decent-username: it's a joy to read and play around with the exercises inside the repl. Life if good. 2018-11-22T10:07:15Z fmnt joined #scheme 2018-11-22T10:39:16Z robotoad quit (Quit: robotoad) 2018-11-22T10:45:39Z decent-username quit (Ping timeout: 264 seconds) 2018-11-22T10:51:13Z robotoad joined #scheme 2018-11-22T10:54:28Z X-Scale quit (Ping timeout: 246 seconds) 2018-11-22T10:55:32Z [X-Scale] joined #scheme 2018-11-22T10:56:11Z [X-Scale] is now known as X-Scale 2018-11-22T11:19:39Z klovett_ joined #scheme 2018-11-22T11:19:53Z webshinra joined #scheme 2018-11-22T11:22:15Z klovett quit (Ping timeout: 276 seconds) 2018-11-22T11:33:41Z edgar-rft joined #scheme 2018-11-22T12:06:58Z lockywolf joined #scheme 2018-11-22T12:08:54Z ngz joined #scheme 2018-11-22T12:19:06Z ngz quit (Ping timeout: 252 seconds) 2018-11-22T12:22:39Z confusedwanderer joined #scheme 2018-11-22T12:32:33Z lockywolf quit (Remote host closed the connection) 2018-11-22T12:32:55Z lockywolf joined #scheme 2018-11-22T12:40:28Z edw: aeth: You're not the first person I've encountered that wants the SICP, Little Schemer, el al. code to run. Perhaps it's due to me growing up in a simpler time when code came in the form of printed books and magazines, but I've always thought the way to get the code from these books running is by typing it in. Similarly, the H-P lectures are perfect to me, because you can follow along and type at your REPL as S&A write code on the 2018-11-22T12:40:28Z edw: chalkboard. 2018-11-22T12:44:36Z lritter joined #scheme 2018-11-22T12:47:32Z lockywolf quit (Remote host closed the connection) 2018-11-22T12:47:59Z lockywolf joined #scheme 2018-11-22T12:50:50Z robotoad quit (Quit: robotoad) 2018-11-22T12:53:26Z lockywolf quit (Ping timeout: 260 seconds) 2018-11-22T13:13:07Z pierpal quit (Quit: Poof) 2018-11-22T13:13:28Z pierpal joined #scheme 2018-11-22T13:21:07Z ogamita: edw: well, some of those old books had the code available thru ftp (or bitnet/ftp gateways) already a long time ago. Floppies and the web came later. 2018-11-22T13:22:55Z ogamita: Unfortunately, the learning experience you have when you write down what you learn is apparently not replicated when you type it down. There seem to be something more mechanical to typing compared to writing by hand. 2018-11-22T13:29:50Z jcowan: T and nil were not removed as standard parts of Scheme until R4RS, though R3RS notes that only some implementations provide them. They were bound to #t and #f, of course; 't and 'nil never worked in Scheme. 2018-11-22T13:30:39Z jcowan: And it is only in the IEEE standard (between R4 and R5) that the separation of #f and () becomes definitive, though R4RS warns against relying on it. 2018-11-22T13:32:52Z jcowan: s/worked/were anything but symbols 2018-11-22T13:47:01Z gravicappa quit (Ping timeout: 246 seconds) 2018-11-22T13:54:53Z fmnt quit (Quit: Leaving.) 2018-11-22T13:55:10Z [X-Scale] joined #scheme 2018-11-22T13:56:00Z X-Scale quit (Ping timeout: 252 seconds) 2018-11-22T13:56:17Z [X-Scale] is now known as X-Scale 2018-11-22T13:57:19Z fmnt joined #scheme 2018-11-22T13:57:26Z acarrico joined #scheme 2018-11-22T13:58:51Z fmnt quit (Client Quit) 2018-11-22T14:10:12Z klovett_ quit (Remote host closed the connection) 2018-11-22T14:14:47Z averell quit (Quit: .) 2018-11-22T14:17:15Z averell joined #scheme 2018-11-22T14:22:28Z jao joined #scheme 2018-11-22T14:30:42Z lllll: how can you abstract macro templates when they contain ellipses? 2018-11-22T14:31:08Z rain1: yeah you can use (... ...) to escape the dots 2018-11-22T14:31:12Z rain1: if you're talking syntax-rules 2018-11-22T14:31:28Z lllll: yes, syntax-rules 2018-11-22T14:31:55Z rain1: if you'd like some more specific advice you could show the macros your working on and what they do etc. 2018-11-22T14:35:02Z lllll: https://pastebin.com/HMZz7N3K 2018-11-22T14:35:27Z lllll: here i want to abstract the body of function 2018-11-22T14:36:17Z gravicappa joined #scheme 2018-11-22T14:36:45Z rain1: so there's a common programming pattern with macros that you should think about if you can apply here 2018-11-22T14:37:42Z rain1: the pattern is to define a new language construct using 2 things: A procedure that implements most of the system and a very small piece of macro code that expands into a use of that procedure 2018-11-22T14:38:42Z rain1: the aim with that is to make the amount of macro code smaller, this usually makes it easier to understand the whole 2018-11-22T14:45:19Z lllll: ill try to abstract it to another macro 2018-11-22T14:45:52Z klovett joined #scheme 2018-11-22T14:46:05Z rain1: ok! that's not what i was suggesting but it might work too 2018-11-22T14:46:36Z razzy quit (Ping timeout: 260 seconds) 2018-11-22T14:47:03Z lllll: i could define a procedure 2018-11-22T14:47:35Z lllll: but i would need to pass it the body pattern without evaluating 2018-11-22T14:48:05Z dtornabene joined #scheme 2018-11-22T14:48:30Z rain1: well the trick you can use for that is simply wrap body in a lambda 2018-11-22T14:48:41Z rain1: then the proceduce can invoke that thunk when it needs to 2018-11-22T14:59:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-22T15:04:09Z klovett joined #scheme 2018-11-22T15:08:34Z klovett quit (Ping timeout: 246 seconds) 2018-11-22T15:08:44Z DGASAU joined #scheme 2018-11-22T15:09:21Z lllll: thanks, that's what i did 2018-11-22T15:09:42Z lllll: now it's much cleaner 2018-11-22T15:13:57Z klovett joined #scheme 2018-11-22T15:19:37Z Inline joined #scheme 2018-11-22T15:22:33Z klovett quit (Ping timeout: 245 seconds) 2018-11-22T15:24:30Z Zenton quit (Remote host closed the connection) 2018-11-22T15:27:18Z jcowan: I'm not actually crazy about that pattern: there's no real need for the macro then. 2018-11-22T15:28:23Z lllll: what do you mean? 2018-11-22T15:29:56Z jcowan: You might just as well expose the procedure that takes the thunk. Of course, I haven't seen the specific example, so I'm shooting from the hip here. 2018-11-22T15:30:17Z skapata joined #scheme 2018-11-22T15:31:25Z lllll: https://pastebin.com/6RxQ5pk8 2018-11-22T15:31:28Z lllll: this is what i did 2018-11-22T15:32:17Z Inline quit (Read error: Connection reset by peer) 2018-11-22T15:32:44Z Inline joined #scheme 2018-11-22T15:32:55Z rain1: very good 2018-11-22T15:32:56Z klovett joined #scheme 2018-11-22T15:33:31Z rain1: did you mean to pass 'fname the symbol? 2018-11-22T15:33:43Z rain1: for use in the hash table 2018-11-22T15:34:14Z rain1: (_ (fname . args) body ...) (_ (fname arg arg* ...) body ...) <- you only need one of these, they cover the same thing 2018-11-22T15:34:31Z rain1: oh that's not quite true, because of the case of 0 args 2018-11-22T15:34:42Z rain1: but you can probably just do one case that handles 0 or more args 2018-11-22T15:35:36Z rain1: oh actually 2018-11-22T15:35:55Z rain1: (fname . args) is supposed to cover the var-args case? it actually covers everything though 2018-11-22T15:36:33Z gravicappa quit (Ping timeout: 244 seconds) 2018-11-22T15:36:51Z rain1: so you can delete lines 27-32 2018-11-22T15:37:23Z rain1: but the deeper problem is that this macro is attempting to re-implement part of DEFINE 2018-11-22T15:37:43Z rain1: maybe there's no way around that though, anyone know? 2018-11-22T15:39:11Z lllll: right 2018-11-22T15:41:18Z razzy joined #scheme 2018-11-22T15:47:34Z klovett quit (Ping timeout: 272 seconds) 2018-11-22T15:52:48Z eli quit (Ping timeout: 252 seconds) 2018-11-22T15:55:10Z gabot quit (Ping timeout: 272 seconds) 2018-11-22T15:56:46Z Zenton joined #scheme 2018-11-22T15:59:05Z badkins_ joined #scheme 2018-11-22T16:01:25Z badkins quit (Ping timeout: 246 seconds) 2018-11-22T16:06:09Z klovett joined #scheme 2018-11-22T16:10:31Z ggole joined #scheme 2018-11-22T16:10:48Z klovett quit (Ping timeout: 268 seconds) 2018-11-22T16:11:05Z groovy2shoes quit (Quit: moritura te salutat) 2018-11-22T16:15:25Z pierpal quit (Quit: Poof) 2018-11-22T16:15:46Z pierpal joined #scheme 2018-11-22T16:19:19Z groovy2shoes joined #scheme 2018-11-22T16:37:31Z ng0 joined #scheme 2018-11-22T16:47:42Z InverseRhombus joined #scheme 2018-11-22T16:50:23Z grettke joined #scheme 2018-11-22T16:52:29Z lambda-11235 joined #scheme 2018-11-22T17:20:09Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-22T17:22:43Z sysfault joined #scheme 2018-11-22T17:22:52Z sysfault left #scheme 2018-11-22T17:39:37Z DGASAU quit (Read error: Connection reset by peer) 2018-11-22T17:41:53Z DGASAU joined #scheme 2018-11-22T17:48:32Z DGASAU quit (Ping timeout: 272 seconds) 2018-11-22T17:57:13Z edw: ogamita: I have no idea how you came to your conclusion, but FYI neither ARPANET nor magazines with floppies were mainstream things in the early Eighties. 2018-11-22T17:59:31Z pjb: edw: in the early eighties, most western universities were connected, if not directly via IP, at least indirectly via networks such as bitnet or even uucp. Teachers writing books could expect most of the students to be able to download their code from some ftp server. 2018-11-22T18:00:01Z qu1j0t3: might be using "mainstream" to mean consumer. 2018-11-22T18:00:06Z pjb: I did download a ton of files with a 1200 b/s modem connecting to my university account at that time. 2018-11-22T18:00:07Z qu1j0t3: i think we all know there was institutional access. 2018-11-22T18:00:18Z pjb: consumers don't buy programming books. 2018-11-22T18:00:23Z qu1j0t3: <_< 2018-11-22T18:00:26Z qu1j0t3: >_> 2018-11-22T18:00:28Z qu1j0t3: they did in the 1980s :) 2018-11-22T18:01:03Z qu1j0t3: alongside a lot of 8 bit micros... 2018-11-22T18:01:34Z pjb: If you talk about microcomputers, then sometimes monthly programming magazines would print a floppy audio disk that you would play back to your k7 interface to load basic programs :-) 2018-11-22T18:08:01Z klovett joined #scheme 2018-11-22T18:08:18Z edw: What is it with people's pathological need to "correct" and "educate" poeple here? A lot of arrogant malcontents here. pjb: I was nine years old in '82 when my parents bought the ][+. I had the Apple II Technical Reference Manual, the AppleSoft BASIC ][ manual, Beneath Apple DOS in addition to issues of Nibble, Byte, and Compute! magazines. 2018-11-22T18:08:34Z jcowan: Geek Answer Syndrome, edw. 2018-11-22T18:09:05Z edw: Actuall jcowan, it's... 2018-11-22T18:09:08Z edw: :P 2018-11-22T18:09:13Z jcowan: A variant of Male Answer Syndrome, except that rather than the answers being bullshit (in the technical sense) intended to impress, they are correct answers to the questions the geek would have asked himself. 2018-11-22T18:10:23Z edw: If Hacker News and 4chan didn't exist, I would suggest that we are the worst humans on the planet. 2018-11-22T18:12:16Z jcowan: Pffft. 2018-11-22T18:12:20Z pjb: If you had an Apple][ then you were a snotty geek like we were all at the time! 2018-11-22T18:12:21Z qu1j0t3: https://pbs.twimg.com/media/DsTm69KXQAAVwD5.jpg ! 2018-11-22T18:12:23Z jcowan: GAS isn't all that bad. 2018-11-22T18:12:34Z pjb: Not a general public consumer. 2018-11-22T18:13:05Z DGASAU joined #scheme 2018-11-22T18:13:09Z qu1j0t3: not to prolong this thread farther, but the Apple II (and other micros) were marketed to the general consumer. 2018-11-22T18:13:15Z edw: pjb: For real. I hated compute because it pandered to all the kids with VIC-20s and C64s. 2018-11-22T18:14:07Z edw: qu1j0t3: True. 2018-11-22T18:14:08Z pjb: qu1j0t3: of course, it was marketed so. But who bought it really (or rather how were people who bought PCs considered by the others)? 2018-11-22T18:15:53Z qu1j0t3: i agree, the market was variegated once you got into it. People also bought micros to run small business stuff (with greater or lesser success). Word processing. etc. And some were just straight up snotty nerds, like you and me, who begged their parents :-) 2018-11-22T18:16:07Z edw: My parents' bought it to run their business and after becoming dissatisfied with the options my father wrote the accounting, inventory management, and shipping software upon which the business was based. When they closed up shop they had at least two dozen spare Apple IIs around as spares because they hadn't been made in decades. 2018-11-22T18:16:15Z qu1j0t3: ya 2018-11-22T18:16:17Z qu1j0t3: not an uncommon story 2018-11-22T18:16:22Z edw: s/parents'/parents/ 2018-11-22T18:16:58Z edw: qu1j0t3: Yes, I am aware. I was sentient in the '80s. 2018-11-22T18:17:16Z qu1j0t3: ? 2018-11-22T18:18:52Z edw: "Not an uncommon story." The micro was the computer equivalent of the small Japanese pickups that came out around the same time: a piece of capital normal people could buy to build/run/grow a business. 2018-11-22T18:19:05Z qu1j0t3: i'm saying, yes, i observed the same thing. 2018-11-22T18:19:17Z qu1j0t3: that's all 2018-11-22T18:19:27Z edw: Ah, my apologies. 2018-11-22T18:19:33Z qu1j0t3: no worries. 2018-11-22T18:20:05Z qu1j0t3: looks like there are four of us in here violently agreeing, all with vivid memories of the 1980s 2018-11-22T18:20:10Z qu1j0t3: :) 2018-11-22T18:20:15Z edw: I'm still getting over the realization that all the code I typed in after reading and thinking about was a complete waste. 2018-11-22T18:20:53Z qu1j0t3: well.. by the mid-80s i had a fancy 5.25" disk system, but earlier on, yeah, coding on a ZX-81 meant losing everythign if you sneezed. 2018-11-22T18:20:53Z edw: I felt bad for the Atari 400 kids; they had to get a cartridge even to write basic. 2018-11-22T18:21:01Z pierpal quit (Ping timeout: 252 seconds) 2018-11-22T18:21:42Z qu1j0t3: the really dumb part was that after i got my first Mac, i was still too stupid about backups and such to preserve my work from back then 2018-11-22T18:22:30Z pierpal joined #scheme 2018-11-22T18:23:01Z edw: I was friends with the kids who were my grandmother's neighbors. Their dad has a Timex Sinclair 2000 (with a membrane keyboard) that he wrote stock analysis and portfolio management software on. I'd see him watching Wall St. in Review and staring at his black and white TV and poking the tiny Timex Sinclair. 2018-11-22T18:23:15Z qu1j0t3: yeah, that's what we called the ZX-81 2018-11-22T18:23:24Z qu1j0t3: or ZX-80, possibly (which i never used) 2018-11-22T18:23:40Z qu1j0t3: it was Timex in north america 2018-11-22T18:23:50Z edw: Did it have a real keyboard? Like actual buttons? The T-S 2K had switches under a plastic sheet. 2018-11-22T18:23:58Z qu1j0t3: both those models were membrane. 2018-11-22T18:24:01Z qu1j0t3: they were very primitive. 2018-11-22T18:24:06Z qu1j0t3: my uncle and my dad owned ZX-81's 2018-11-22T18:24:12Z edw: Like 2K of memory or something? 2018-11-22T18:24:15Z qu1j0t3: but when they're the only computer you can access .... still pretty exciting 2018-11-22T18:24:27Z qu1j0t3: edw: yeah, and a memory upgrade, which had a flaky connector (famously) 2018-11-22T18:24:49Z edw: Oh totes. The rush it is to be able to write something that does something. 2018-11-22T18:24:56Z qu1j0t3: it was popular to code them in machine code (not even assembler) because the BASIC was so slow (and the CPU was tied up generating the video for most of the time) 2018-11-22T18:25:11Z edw: Thus the recommendation to not breath while using. 2018-11-22T18:25:13Z qu1j0t3: yep 2018-11-22T18:25:31Z edw: Breathe. Too cold here in NY. 2018-11-22T18:26:51Z edw: I got into assembly thanks to reading about the RWTS (Read-write track-sector) routines in DOS 3.3. And then I fascinated by the concept of interrupts and circular buffers. 2018-11-22T18:27:04Z qu1j0t3 nods 2018-11-22T18:28:27Z edw: Better times. I try to teach kids the power of Scheme + C (high and low) but all they want to do is wear fedoras and install NPM modules. 2018-11-22T18:33:37Z jcowan: I'm about 150 miles upstate from NYC, lots of snow on the ground, and 8 F / -13 C outside the house. 2018-11-22T18:33:50Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T18:35:41Z jcowan: In the 1980s I was hacking PDP-11s, Tandem NonStop systems, and Vaxen, in that order. I think I bought my first home computer in 2012 or so. 2018-11-22T18:36:58Z oni-on-ion: quite the gap 2018-11-22T18:38:13Z edw: jcowan: Did you simply not work from home? (Remember that?! Remember not working 24x7?) 2018-11-22T18:39:05Z jcowan: I did have terminals and modems at home, but they were paid for by $EMPLOYER. As indeed is this laptop I'm using today (my own needs some repairs which I have been putting off). 2018-11-22T18:39:44Z jcowan: I remember setting up a personal restaurant file in Datatrieve, the ancestor of dBASE II and more remotely SQLite. 2018-11-22T18:40:17Z jcowan: I went out to dinner a lot more then. 2018-11-22T18:42:41Z pierpal joined #scheme 2018-11-22T18:42:46Z edw: I've found the perfect work machine, btw: a new 12.9" iPad Pro using Blink/mosh/tmux to connect to a box in the cloud. It's like having a sci-fi version of my dream computer from '85. 2018-11-22T18:44:01Z oni-on-ion: =) =) 2018-11-22T18:50:02Z pierpal quit (Ping timeout: 250 seconds) 2018-11-22T19:01:10Z skapata quit (Read error: Connection reset by peer) 2018-11-22T19:03:02Z skapata joined #scheme 2018-11-22T19:04:17Z jcowan: With an external keyboard and pointing device, I trust. 2018-11-22T19:06:22Z alezost joined #scheme 2018-11-22T19:06:30Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-22T19:10:42Z pierpal joined #scheme 2018-11-22T19:12:34Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T19:13:01Z pierpal joined #scheme 2018-11-22T19:13:55Z dtornabene quit (Remote host closed the connection) 2018-11-22T19:14:17Z dtornabene joined #scheme 2018-11-22T19:16:45Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T19:16:57Z pierpal joined #scheme 2018-11-22T19:17:50Z ggole quit (Quit: ggole) 2018-11-22T19:21:42Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T19:27:03Z zooey joined #scheme 2018-11-22T19:28:07Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-22T19:32:09Z DGASAU joined #scheme 2018-11-22T19:32:15Z grettke joined #scheme 2018-11-22T19:32:56Z pierpal joined #scheme 2018-11-22T19:41:19Z robotoad joined #scheme 2018-11-22T19:44:28Z lritter quit (Ping timeout: 264 seconds) 2018-11-22T19:45:46Z TheGreekOwl joined #scheme 2018-11-22T19:47:19Z edw: jcowan: Fingers are here. (I live in `emacs -nw`.) 2018-11-22T20:06:26Z aeth: edw: why 2018-11-22T20:07:01Z aeth: One of the first aliases I made was to do e='emacs -nw' 2018-11-22T20:08:24Z aeth: (I also make t='tmux attach' and that's it for one-character aliases) 2018-11-22T20:14:38Z jetchisel quit (Ping timeout: 245 seconds) 2018-11-22T20:17:08Z pierpal quit (Ping timeout: 250 seconds) 2018-11-22T20:19:30Z pierpal joined #scheme 2018-11-22T20:24:05Z pierpal quit (Read error: Connection reset by peer) 2018-11-22T20:24:06Z ngz joined #scheme 2018-11-22T20:39:01Z confusedwanderer quit (Remote host closed the connection) 2018-11-22T20:39:35Z rudybot quit (Read error: Connection reset by peer) 2018-11-22T20:39:55Z rudybot joined #scheme 2018-11-22T20:40:37Z DGASAU` joined #scheme 2018-11-22T20:41:51Z DGASAU quit (Ping timeout: 260 seconds) 2018-11-22T20:56:02Z gravicappa joined #scheme 2018-11-22T21:00:28Z gravicappa quit (Remote host closed the connection) 2018-11-22T21:00:48Z gravicappa joined #scheme 2018-11-22T21:01:59Z oni-on-ion quit (Read error: No route to host) 2018-11-22T21:04:38Z oni-on-ion joined #scheme 2018-11-22T21:06:02Z permagreen quit (Remote host closed the connection) 2018-11-22T21:18:07Z TheGreekOwl quit (Quit: I must go, my planet needs me.) 2018-11-22T21:21:31Z acarrico quit (Ping timeout: 260 seconds) 2018-11-22T21:28:17Z lritter joined #scheme 2018-11-22T21:56:22Z daviid quit (Ping timeout: 250 seconds) 2018-11-22T22:06:00Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-22T22:06:37Z gravicappa quit (Ping timeout: 268 seconds) 2018-11-22T22:13:31Z lritter quit (Remote host closed the connection) 2018-11-22T22:18:00Z robotoad quit (Quit: robotoad) 2018-11-22T22:18:27Z robotoad joined #scheme 2018-11-22T22:18:55Z robotoad quit (Client Quit) 2018-11-22T22:32:27Z jcowan: I use `ex`, but I don't live there. 2018-11-22T22:33:27Z pjb: I prefer ed. 2018-11-22T22:33:47Z jcowan: A radical, I see. 2018-11-22T22:34:09Z jcowan: I'll trade off a little standardosity for greater convenience 2018-11-22T22:34:25Z jcowan: I prefer nvi's ex, but I'll tolerate vim's. 2018-11-22T22:38:29Z jcowan: In other news, Arthur aka srfi-editors has just posted my portable implementation of the R6RS bytevector library and SRFI 4 (modulo the lexical syntax). 2018-11-22T22:39:17Z jcowan: they are both in the SRFI 4 repo, and will work on any Scheme with minimal bytevector support (make-bv, bv?, bv-length, bv-ref, bv-set!) 2018-11-22T22:39:33Z jcowan: oh, and R6RS or R7RS or SRFI 9 records 2018-11-22T22:45:34Z ngz quit (Ping timeout: 252 seconds) 2018-11-22T22:46:59Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-22T22:56:48Z daviid joined #scheme 2018-11-22T23:03:58Z pjb: But for scheme programming, edwin is much better than ed ex or vi. 2018-11-22T23:19:16Z jcowan: To each his own tools 2018-11-22T23:19:35Z elderK quit (Quit: WeeChat 1.9) 2018-11-22T23:31:23Z hook54321 quit (Quit: Connection closed for inactivity) 2018-11-22T23:35:03Z klovett_ joined #scheme 2018-11-22T23:36:30Z robotoad joined #scheme 2018-11-22T23:37:20Z klovett quit (Ping timeout: 250 seconds) 2018-11-22T23:38:26Z klovett_ quit (Remote host closed the connection) 2018-11-22T23:52:33Z iskander quit (Ping timeout: 245 seconds) 2018-11-22T23:59:45Z iskander joined #scheme 2018-11-23T00:10:24Z pjb quit (Ping timeout: 252 seconds) 2018-11-23T00:10:48Z grettke joined #scheme 2018-11-23T00:13:49Z klovett joined #scheme 2018-11-23T00:15:39Z acarrico joined #scheme 2018-11-23T00:18:35Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T00:24:12Z klovett joined #scheme 2018-11-23T00:24:27Z pjb joined #scheme 2018-11-23T00:28:54Z pjb quit (Ping timeout: 250 seconds) 2018-11-23T00:32:46Z oni-on-ion quit (Ping timeout: 246 seconds) 2018-11-23T00:33:04Z khisanth_ quit (Ping timeout: 264 seconds) 2018-11-23T00:33:08Z dmiles quit (Ping timeout: 252 seconds) 2018-11-23T00:37:05Z logicmoo joined #scheme 2018-11-23T00:37:40Z klovett quit (Ping timeout: 272 seconds) 2018-11-23T00:38:29Z klovett joined #scheme 2018-11-23T00:41:31Z wigust- quit (Ping timeout: 250 seconds) 2018-11-23T00:42:33Z acarrico quit (Ping timeout: 245 seconds) 2018-11-23T00:46:41Z pjb joined #scheme 2018-11-23T00:47:07Z klovett quit (Ping timeout: 252 seconds) 2018-11-23T00:52:34Z klovett joined #scheme 2018-11-23T00:52:36Z pjb quit (Ping timeout: 252 seconds) 2018-11-23T00:53:06Z khisanth_ joined #scheme 2018-11-23T01:01:45Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T01:08:13Z dtornabene quit (Remote host closed the connection) 2018-11-23T01:24:45Z acarrico joined #scheme 2018-11-23T01:24:54Z klovett joined #scheme 2018-11-23T01:27:15Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-23T01:29:30Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T01:33:24Z wigust joined #scheme 2018-11-23T01:38:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-23T01:38:41Z pjb joined #scheme 2018-11-23T01:43:13Z pjb quit (Ping timeout: 252 seconds) 2018-11-23T01:51:14Z khisanth_ quit (Ping timeout: 250 seconds) 2018-11-23T01:53:45Z khisanth_ joined #scheme 2018-11-23T01:57:44Z daviid quit (Ping timeout: 250 seconds) 2018-11-23T01:58:51Z klovett joined #scheme 2018-11-23T02:14:38Z acarrico quit (Ping timeout: 244 seconds) 2018-11-23T02:15:48Z keep_learning_M joined #scheme 2018-11-23T02:22:53Z acarrico joined #scheme 2018-11-23T02:31:06Z daviid joined #scheme 2018-11-23T02:31:21Z robotoad quit (Quit: robotoad) 2018-11-23T02:33:25Z ng0_ joined #scheme 2018-11-23T02:37:11Z ng0 quit (Ping timeout: 256 seconds) 2018-11-23T02:41:23Z hook54321 joined #scheme 2018-11-23T02:56:40Z robotoad joined #scheme 2018-11-23T03:15:40Z gabot joined #scheme 2018-11-23T03:45:05Z xkapastel joined #scheme 2018-11-23T04:03:03Z daviid quit (Ping timeout: 268 seconds) 2018-11-23T04:12:35Z badkins_ quit (Remote host closed the connection) 2018-11-23T04:20:31Z klovett_ joined #scheme 2018-11-23T04:22:07Z klovett quit (Ping timeout: 240 seconds) 2018-11-23T04:36:05Z skapata quit (Remote host closed the connection) 2018-11-23T04:56:54Z grettke joined #scheme 2018-11-23T05:29:55Z jao quit (Ping timeout: 246 seconds) 2018-11-23T05:39:23Z Inline quit (Quit: Leaving) 2018-11-23T06:15:20Z torbo joined #scheme 2018-11-23T06:15:36Z torbo quit (Remote host closed the connection) 2018-11-23T06:28:12Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-23T06:29:07Z gravicappa joined #scheme 2018-11-23T06:47:29Z klovett joined #scheme 2018-11-23T06:51:20Z klovett_ quit (Ping timeout: 272 seconds) 2018-11-23T06:52:52Z acarrico quit (Ping timeout: 252 seconds) 2018-11-23T07:02:50Z ggole joined #scheme 2018-11-23T07:27:15Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-23T07:36:16Z civodul joined #scheme 2018-11-23T07:37:53Z ng0_ is now known as ng0 2018-11-23T07:43:00Z grettke joined #scheme 2018-11-23T08:15:11Z gravicappa quit (Remote host closed the connection) 2018-11-23T08:15:31Z gravicappa joined #scheme 2018-11-23T08:21:06Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-23T08:24:12Z lambda-11235 quit (Quit: Bye) 2018-11-23T08:28:56Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-23T08:31:11Z Zaab1t joined #scheme 2018-11-23T08:36:57Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-23T09:50:42Z Zaab1t quit (Quit: bye bye friends) 2018-11-23T10:18:33Z elderK joined #scheme 2018-11-23T10:24:38Z lavaflow: I find myself commonly writing code like this: 2018-11-23T10:24:44Z lavaflow: (define foo-cach (make-hash)) 2018-11-23T10:24:50Z lavaflow: (define (foo x) ....) 2018-11-23T10:25:40Z lavaflow: where foo uses foo-cache to avoid recomputing for x. can anybody suggest a cleaner way to accomplish this sort of thing? 2018-11-23T10:26:39Z lavaflow: I mean it works but it just seems messy to me. 2018-11-23T10:27:44Z lavaflow: I'm thinking some sort of macro that would look like (define-with-cache (foo x) ...) that would bind foo-cache in the body, initialized to a mutable hash 2018-11-23T10:29:37Z lavaflow: (also breaking hygiene like that isn't something I've done before with scheme macros) 2018-11-23T10:32:17Z lavaflow: ah right, memoization is what I'm doing, I forgot there was a word for this. 2018-11-23T10:32:55Z ogamita: lavaflow: it's called memorizing. There are libraries doing that in a general way. 2018-11-23T10:33:43Z lavaflow: ogamita: aye, I found a set of lecture slides that show a syntax-rule for define-memo 2018-11-23T10:33:56Z ogamita: I mean memoization, sorry, bad memory. 2018-11-23T10:34:13Z lavaflow: I think I'd still like to implement my own that breaks hygiene to give myself more control over whether or not the cache is actually used 2018-11-23T10:34:46Z ogamita: http://community.schemewiki.org/?memoization 2018-11-23T10:35:15Z lavaflow: nice, thank you 2018-11-23T10:38:25Z lavaflow: hmm, is *this-style* the way many people name globals in scheme? I thought that was more of a common lispism 2018-11-23T10:46:08Z ogamita: Yes, it's common lisp. It's useless in scheme, since even globals are lexical variables. 2018-11-23T10:46:09Z wilfredh joined #scheme 2018-11-23T10:47:14Z ogamita: In CL, the name of dynamic variables is declared special, and there's no way to undeclare them or shadow their specialness: all bindings on them will always be dynamic. So to avoid problems, we use the *star* convention, so the rest of the variables can remain lexical. 2018-11-23T10:48:00Z ogamita: In scheme, libraries implementing dynamic bindings (sometimes called "parameters"), use a special form such as (dynamic foo) instead of *foo*. It's not a bad way to do it. 2018-11-23T10:48:12Z razzy quit (Ping timeout: 272 seconds) 2018-11-23T10:49:29Z lavaflow: ah right, I forgot dynamic/specials are common in CL 2018-11-23T10:50:53Z lavaflow: I've only used parameters in guile and racket a little, but I like the way the code using them looks. 2018-11-23T11:03:43Z pierpal joined #scheme 2018-11-23T11:09:25Z ecraven: is it just me, or is it insane that 3 docker containers to run graylog (a log file aggregator) take more than 1 gigabyte :-/ 2018-11-23T11:09:47Z ecraven: for grafana (system metrics monitoring), it's at least "only" 500MB 2018-11-23T11:14:23Z robotoad quit (Quit: robotoad) 2018-11-23T11:17:41Z lavaflow: that's definitely insane 2018-11-23T11:30:00Z robotoad joined #scheme 2018-11-23T11:31:30Z dkmueller joined #scheme 2018-11-23T11:38:03Z skapata joined #scheme 2018-11-23T12:01:46Z lritter joined #scheme 2018-11-23T12:05:53Z razzy joined #scheme 2018-11-23T12:10:37Z robotoad quit (Quit: robotoad) 2018-11-23T12:22:06Z tng joined #scheme 2018-11-23T12:25:19Z tng quit (Client Quit) 2018-11-23T12:26:02Z tng joined #scheme 2018-11-23T12:31:32Z tng quit (Quit: Mutter: www.mutterirc.com) 2018-11-23T12:33:28Z TheGreekOwl joined #scheme 2018-11-23T12:42:04Z xkapastel joined #scheme 2018-11-23T13:00:13Z jao joined #scheme 2018-11-23T13:30:08Z jcowan joined #scheme 2018-11-23T13:58:22Z razzy quit (Ping timeout: 250 seconds) 2018-11-23T14:00:22Z dTal: my favorite logfile aggregator is 'cat' 2018-11-23T14:01:03Z ecraven: dTal: that would be fine, if cat also added the same timestamp format to everything :-P 2018-11-23T14:02:26Z klovett_ joined #scheme 2018-11-23T14:02:27Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T14:06:09Z jao quit (Ping timeout: 268 seconds) 2018-11-23T14:13:15Z jcowan: If all the logs have the same timestamp format and it is a reasonable one, then sort will do the job. If you're stuck with some bad timestamp format, you're out of luck. 2018-11-23T14:17:28Z ogamita: jcowan: awk + sort, np 2018-11-23T14:17:28Z acarrico joined #scheme 2018-11-23T14:18:33Z xkapastel: anyone get chibi scheme working with webassembly? 2018-11-23T14:18:58Z jcowan: That would be a big job 2018-11-23T14:19:08Z jcowan: Chibi-in-the-browser uses emscripten. 2018-11-23T14:23:54Z jcowan: However, I see that emscripten supports WA now, so perhaps it's just an adjustment to the Makefile. 2018-11-23T14:46:21Z omtrent quit (Quit: WeeChat 2.3) 2018-11-23T14:50:20Z jonaslund: jcowan: emscripten can output webassembly code (first version of WA was supposed to be equivalent or better than the JS output) 2018-11-23T14:50:32Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-23T14:51:52Z confusedwanderer joined #scheme 2018-11-23T14:56:44Z xkapastel: i'm trying to decipher the makefile 2018-11-23T14:57:02Z xkapastel: considering emscripten's wasm support, i imagine it's easy but no one has looked at it 2018-11-23T14:57:25Z xkapastel: s/imagine/hope 2018-11-23T15:04:36Z lavaflow: gnu make builds with guile doesn't it? why can't we write our makefiles in some sane DSL implemented in guile, instead of the abomination that is the traditional make DSL 2018-11-23T15:04:49Z lavaflow: I guess that's probably part of the idea of guix 2018-11-23T15:16:52Z jcowan: The best thing would be to write them in Prolog. 2018-11-23T15:17:39Z jcowan: If you type "./configure" in the root of the Chibi source directory, you get "Autoconf is an evil piece of] bloatware encouraging cargo-cult programming. Make, on the other hand, is a beautiful little prolog for the filesystem. Just run 'make'." 2018-11-23T15:34:12Z jonaslund: jcowan: as funny as that is.. how does chibi handle platform differences ? 2018-11-23T15:34:28Z jonaslund: (well i guess there could be a ton of if-def's) 2018-11-23T15:45:24Z badkins joined #scheme 2018-11-23T15:45:45Z lllll quit (Quit: Connection closed for inactivity) 2018-11-23T15:46:05Z jcowan: It uses uname to get the platform name and then sets a bunch of Make variables for the SO extension (dylib, so, dll) and executable extension (.exe or nothing). These are then copied into install.h 2018-11-23T15:47:35Z jcowan: There are a few system-specific #ifdefs, but only 54 in 28K lines of code. 2018-11-23T15:49:41Z jcowan: The currently supported platforms are MacOS, the four BSDs (all treated the same), Linux, Android, MSYS, and Cygwin, plus Plan 9 and Emscripten which are handled separately. 2018-11-23T15:50:16Z jcowan: AFAIK it is the only Scheme running natively on Plan 9. 2018-11-23T15:50:33Z jcowan: (some may be buildable with Ape, I don't know that anyone has tried.) 2018-11-23T15:51:43Z lavaflow: then it sounds like they put their money where their mouth is, so to speak 2018-11-23T15:53:01Z remix2000 joined #scheme 2018-11-23T15:53:16Z jcowan: Yes, it's very portable code. The only portability issue I've ever found is that gcc on Cygwin warns if you try to index a C array by a character, since char could be signed or unsigned. I report these as I find them and foof fixes them. 2018-11-23T15:53:41Z InverseRhombus joined #scheme 2018-11-23T15:55:19Z xkapastel: maybe i'm misunderstanding this but shouldn't i be able to cheat? like, just create `libchibi-scheme.a`, then statically link that in another project that already has wasm building set up 2018-11-23T15:55:31Z xkapastel: so i don't need to mess with their makefiles 2018-11-23T15:55:44Z Perkol joined #scheme 2018-11-23T16:01:09Z jcowan: xkapastel: See the comments in include/chibi/features.h, which control compilation. One of them is about static builds. 2018-11-23T16:02:15Z xkapastel: ah, thanks for that 2018-11-23T16:02:27Z jcowan: jonaslund: I forgot to count ifndefs, so that makes 60. There are many more that are related to Chibi feature flags; you can remove lots of things from the implementation to make it smaller, from bignums to flonums to library support to records to threads to finalizers to GC. 2018-11-23T16:03:23Z jcowan: xkapastel: libchibi-scheme.a is an explicit target in the Makefile 2018-11-23T16:03:33Z xkapastel: jcowan: yes, i built it already 2018-11-23T16:03:41Z xkapastel: is there an easy symbol in libchibi to call? 2018-11-23T16:03:46Z xkapastel: like chibi_version or something 2018-11-23T16:03:49Z xkapastel: to verify that it worked 2018-11-23T16:04:23Z xkapastel: if it works then it should be very easy to use chibi with wasm, since you can just build the `.a`, then call it from rust 2018-11-23T16:06:00Z jonaslund: jcowan: well i think you can probably get a away with it as long as you don't try to build a big stdlib or make a jit 2018-11-23T16:06:39Z edw: aeth: Because it's small and encourages focus while also allowing me to do nearly anything short of running Xcode. It's a portable Canon Cat that also is also a great terminal. The perfect nerd computing appliance. 2018-11-23T16:09:29Z xkapastel: edw: are you talking about the ipad pro? 2018-11-23T16:12:54Z edw: Ja. 2018-11-23T16:13:14Z edw: xkapastel: Oui. 2018-11-23T16:19:01Z Inline joined #scheme 2018-11-23T16:24:39Z hugh_marera joined #scheme 2018-11-23T16:31:39Z xkapastel: uncommenting `SEXP_USE_STATIC_LIBS` just broke the build 2018-11-23T16:31:51Z xkapastel: i don't really get it, it instructs you to uncomment it, but doing that make sit stop working 2018-11-23T16:43:19Z ManDay joined #scheme 2018-11-23T16:43:54Z ManDay: What's the best way to write (xor a b) ? 2018-11-23T16:47:13Z InverseRhombus quit (Remote host closed the connection) 2018-11-23T16:53:44Z rain1: you will need to implement xor function 2018-11-23T16:55:37Z rain1: (define (xor a b) (if a (not b) b)) I think? 2018-11-23T16:56:53Z edw: (and (or a b) (not (and a b))) 2018-11-23T16:57:06Z edw: Though you probably knew that... 2018-11-23T16:57:41Z edw: You might want to define NAND since IIRC from EE 101 that's like *the* fundamental gate... 2018-11-23T16:57:52Z xkapastel: nand and nor are both complete 2018-11-23T16:59:13Z edw: Pardon, *one* of *the* *two*. 2018-11-23T16:59:44Z rain1: why tf does scheme not bring these 2018-11-23T17:02:04Z jcowan: xkapastel: Probably that branch hasn't been tested in a while. One of the problem with having 52 feature flags is that you have 4503599627370496 configurations to test, and that's just on one of the 8 platforms 2018-11-23T17:05:12Z xkapastel: the error is in a .so, so i wanna just ignore it since i only want the .a 2018-11-23T17:05:16Z xkapastel: but it's messing everything else up 2018-11-23T17:05:28Z edw: FWIW trying to get Chibi to build on iOS broke my spirit. 2018-11-23T17:05:40Z xkapastel: anyway this seems like it's gonna work so i'm not too worri-oh, maybe edw just ruined my day 2018-11-23T17:06:02Z Riastradh: ecraven: | tai64n 2018-11-23T17:07:36Z edw: xkapastel: I wrote my own Lisp iOS lisp interpreter in Swift (using my C lisp/Clojure parser project that's on GitHub btw) after trying to get Chibi running. 2018-11-23T17:07:37Z jcowan: rain1: SRFI 151 provides a decently portable implementation of every bitwise op you can think of, though it works faster if you have C (or similar) versions of the core ops bitwise-not, bitwise-and, bitwise-ior, bitwise-xor, arithmetic-shift, bit-count, integer-length 2018-11-23T17:08:05Z xkapastel: edw: well, i was actually writing my own lisp interpreter and was trying to move to chibi instead to save the work... 2018-11-23T17:08:13Z xkapastel: that's...not good news 2018-11-23T17:10:32Z edw: xkapastel: The README suggests that at one point Chibi built on iOS, but that was a while ago, and both Chibi and iOS are moving targets. But if you're serious about doing it, I may find myself offering to help you package it and fight bitrot on an ongoing basis. 2018-11-23T17:10:51Z xkapastel: (to be clear i am trying to build for wasm, not ios) 2018-11-23T17:11:30Z Riastradh: Feature flags are evil. Everything should be done exactly one way -- the Right Way. 2018-11-23T17:12:02Z wasamasa: just do it like plan 9, have one compiler interpreting the sources correctly for the respective platform 2018-11-23T17:12:22Z edw: Ah, yes, I tried that too, thinking JavascriptCore could be a path to Chibi-on-iOS. 2018-11-23T17:12:30Z edw: Or CoreJavascript or whatever. 2018-11-23T17:17:20Z jcowan: Riastradh: These are cost-sensitive feature flags. 2018-11-23T17:18:35Z ManDay: rain1: thanks. yes, i was looking for something simpler. btw I find (= (not a) (not b)) the nicer looking xor 2018-11-23T17:19:04Z jcowan: And cost tradeoffs, like the poor, you have always with you. 2018-11-23T17:19:13Z rain1: ManDay: I like that! the symmetry is good 2018-11-23T17:19:16Z Riastradh: jcowan: Everyone else's cost model is wrong! 2018-11-23T17:19:21Z ManDay: rain1: :D 2018-11-23T17:19:41Z Riastradh: ManDay: Might want to use eqv? instead of = there, since = is limited to numerical inputs. 2018-11-23T17:20:01Z rain1: wait 2018-11-23T17:20:01Z ManDay: Riastradh: = is unspeced on booleans?! 2018-11-23T17:20:02Z xkapastel: `(= (not a) (not b))` implements xor? 2018-11-23T17:20:06Z rain1: shouldn't it be (not (eq? a b)) 2018-11-23T17:20:09Z xkapastel: am i missing something 2018-11-23T17:20:14Z jcowan: bitwise xor 2018-11-23T17:20:23Z ManDay: rain1: nah, that wouldn't work if a and b are not bools 2018-11-23T17:20:35Z rain1: ahh 2018-11-23T17:21:14Z ManDay: jcowan: you accidentally two words there 2018-11-23T17:21:21Z rain1: (not (eq? (not a) (not b))) then 2018-11-23T17:21:42Z ManDay: rain1: right, i'll factor the (not ) out to make it look simpler :-P 2018-11-23T17:21:49Z Riastradh: rudybot: eval (= 1 #f) 2018-11-23T17:22:08Z ManDay: Riastradh: Your point? The = in my impl only compares two booleans 2018-11-23T17:22:16Z ManDay: That should be well defined, shouldn't it? 2018-11-23T17:22:21Z rudybot: Riastradh: error: with-limit: out of time 2018-11-23T17:22:23Z Riastradh: rudybot: eval (= 1 #f) 2018-11-23T17:22:24Z rain1: I Thought = was for numbers only 2018-11-23T17:22:28Z rudybot: Riastradh: your r5rs sandbox is ready 2018-11-23T17:22:28Z Riastradh: ManDay: No. = is defined on numeric inputs. 2018-11-23T17:22:28Z rudybot: Riastradh: error: =: contract violation expected: number? given: #f argument position: 2nd other arguments...: 1 2018-11-23T17:22:40Z Riastradh: ManDay: eval (= #t #t) 2018-11-23T17:23:06Z ManDay: yep, got me good 2018-11-23T17:24:17Z grettke joined #scheme 2018-11-23T17:24:22Z Riastradh: ManDay: eval (eqv? #t #t) 2018-11-23T17:24:33Z ManDay: Riastradh: Ok ok... I got it! 2018-11-23T17:24:42Z Riastradh: er 2018-11-23T17:24:45Z Riastradh: rudybot: eval (eqv? #t #t) 2018-11-23T17:24:45Z rudybot: Riastradh: ; Value: #t 2018-11-23T17:24:54Z Riastradh typo 2018-11-23T17:24:59Z ManDay: Two times :-P 2018-11-23T17:25:15Z Riastradh fail 2018-11-23T17:25:22Z Riastradh attention elsewhere 2018-11-23T17:26:22Z ManDay: Another: Is there a nicer alternative to, knowing that PAIR has exactly one element set to #f: (PROC (or (car PAIR) (cdr PAIR)) (if (car PAIR) (car X) (cdr X))) ? 2018-11-23T17:26:59Z ManDay: (i.e. call PROC with the non-false, corresponding elements from X and PAIR) 2018-11-23T17:27:02Z rain1: you are micro optimizing :P 2018-11-23T17:27:03Z Riastradh: xkapastel: I suspect you need a working build of Chibi first before you can build a static Chibi, since part of the static build entails running a script with Chibi to generate some code. 2018-11-23T17:27:11Z ManDay: rain1: That's how I roll :-P 2018-11-23T17:27:33Z ManDay: Also, if I were *optimizing* I'd probably use a different language. I'm *micro-beautifying* :-D 2018-11-23T17:27:48Z rain1: so proc wants car & cdr and it prefers to get the non #f one first 2018-11-23T17:27:55Z ManDay: (also, feel free to change the premise of data types) 2018-11-23T17:28:18Z rain1: I would do it like this (if x (proc x y) (proc y x)) 2018-11-23T17:28:20Z ManDay: rain1: no, it wants either (car PAIR) and (car X) or (cdr PAIR) and (cdr X), depending on which value of PAIR is #f 2018-11-23T17:28:26Z rain1: oh 2018-11-23T17:28:39Z rain1: ok 2018-11-23T17:28:48Z jcowan: It's a SQL merge that takes #f as NULL; give me the non-NULL value. 2018-11-23T17:28:58Z rain1: (let ((f (if thing car cdr))) (proc (f pair) (f x)))) 2018-11-23T17:29:19Z jcowan: Nice use of procedures as values. 2018-11-23T17:29:28Z ManDay: rain1: i hope you don't run a beautysalon 2018-11-23T17:29:43Z rain1: what I wrote is good 2018-11-23T17:29:55Z ManDay: every let is a let too many :-P 2018-11-23T17:30:20Z ManDay: but yeah, it's nicer because... symmetry and okay beacuse... non-redundant 2018-11-23T17:30:50Z rain1: I've been thinking about "fixing" let recently with something like (block ... (:= var val) ...) 2018-11-23T17:30:55Z rain1: don't know if it is a good idea though 2018-11-23T17:31:09Z rain1: but it would help in some cases where you have a lot of nested lets 2018-11-23T17:31:13Z rain1: has anyone thought about this problem? 2018-11-23T17:31:22Z ManDay: rain1: haskell has 2018-11-23T17:31:36Z rain1: oh yeah 2018-11-23T17:31:50Z ManDay: though I'm not sure what exactly it is you are proposing, could you spell it out for the more slow minded? 2018-11-23T17:32:21Z rain1: (block ... (:= var val) ...) would become (begin ... (let ((var val)) ..)) 2018-11-23T17:32:52Z ManDay: you mean you just intersparse the := into a sequence of forms? 2018-11-23T17:32:55Z ManDay: *shudder* 2018-11-23T17:33:02Z ManDay: yeah, that's kinda haskell-do'ish 2018-11-23T17:33:07Z ManDay: just worse x-D 2018-11-23T17:33:46Z ManDay: btw: I went for your suggestion ;) 2018-11-23T17:33:53Z jcob joined #scheme 2018-11-23T17:34:46Z jonaslund quit (Read error: Connection reset by peer) 2018-11-23T17:35:10Z jonaslund joined #scheme 2018-11-23T17:35:16Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-23T17:36:01Z webshinra_ joined #scheme 2018-11-23T17:36:28Z edw: rain1, I wonder what you found wanting in my definition? (and (or a b) (not (and a b))) 2018-11-23T17:36:55Z davexunit quit (Ping timeout: 252 seconds) 2018-11-23T17:37:00Z rain1: nohting, it's good! 2018-11-23T17:37:22Z pjb joined #scheme 2018-11-23T17:38:01Z iskander quit (Ping timeout: 252 seconds) 2018-11-23T17:38:34Z webshinra quit (Ping timeout: 252 seconds) 2018-11-23T17:39:24Z xkapastel: i think i'm just gonna fork chibi and use cargo to build it instead 2018-11-23T17:39:28Z xkapastel: i'm tired of dealing with make 2018-11-23T17:40:02Z ecraven: Riastradh: is there actually such a program? 2018-11-23T17:40:37Z Riastradh: ecraven: https://cr.yp.to/daemontools.html 2018-11-23T17:40:38Z iskander joined #scheme 2018-11-23T17:41:07Z Riastradh: NAME 2018-11-23T17:41:08Z Riastradh: tai64n - puts a precise timestamp on each line. 2018-11-23T17:41:08Z Riastradh: SYNOPSIS 2018-11-23T17:41:08Z Riastradh: tai64n 2018-11-23T17:41:13Z ecraven: ah, sorry, I looked at another page on that site, but didn't find that 2018-11-23T17:41:39Z Riastradh: To render it, pass it through tai64nlocal afterward. 2018-11-23T17:42:35Z Riastradh: Timestamps from tai64n are in lexicographic order independent of your local time zone, so you can merge first with `sort -m'. 2018-11-23T17:44:25Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-23T17:54:57Z ngz joined #scheme 2018-11-23T17:57:35Z edw: Ah, daemontools. Speaking of service management: Can systemd be used to read mail yet? 2018-11-23T17:57:36Z rain1: amz3: https://www.cs.purdue.edu/homes/rompf/papers/rompf-icfp15.pdf may be interesting to you 2018-11-23T18:01:11Z erkin quit (Quit: Ouch! Got SIGIRL, dying...) 2018-11-23T18:02:18Z erkin joined #scheme 2018-11-23T18:07:56Z amz3: tx 2018-11-23T18:08:17Z ManDay quit (Ping timeout: 256 seconds) 2018-11-23T18:08:56Z amz3: a lot 2018-11-23T18:10:46Z Perkol quit (Quit: Leaving) 2018-11-23T18:38:37Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-23T18:54:20Z zachk joined #scheme 2018-11-23T18:56:01Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-23T19:00:24Z jcob quit (Ping timeout: 250 seconds) 2018-11-23T19:02:18Z robotoad joined #scheme 2018-11-23T19:03:29Z confusedwanderer joined #scheme 2018-11-23T19:04:14Z Riastradh: foof: Hmmmmmmmmm. 2018-11-23T19:04:17Z Riastradh: > 0.14285714285714282 2018-11-23T19:04:17Z Riastradh: 0.14285714285714288 2018-11-23T19:04:17Z Riastradh: > 0.14285714285714288 2018-11-23T19:04:17Z Riastradh: 0.14285714285714293 2018-11-23T19:04:24Z Riastradh: > 0.14285714285714293 2018-11-23T19:04:25Z Riastradh: 0.14285714285714296 2018-11-23T19:06:55Z zachk quit (Changing host) 2018-11-23T19:06:55Z zachk joined #scheme 2018-11-23T19:12:51Z ecraven: Riastradh: chibi? 2018-11-23T19:13:19Z ecraven: indeed 2018-11-23T19:16:06Z Riastradh: Does make test pass for you? 2018-11-23T19:16:28Z ecraven: I'll try, gimme a few minutes 2018-11-23T19:16:34Z ecraven: did you ever raise that gcc bug? 2018-11-23T19:17:12Z Riastradh: No, I mostly forgot about it. 2018-11-23T19:17:28Z ecraven: hm.. ERROR: couldn't find import: (scheme red) 2018-11-23T19:17:33Z ecraven: compiling git 2018-11-23T19:19:02Z ecraven: hm.. seems to not adversely affect it, make test runs fine in both the arch linux git package and the 0.8 release from github 2018-11-23T19:19:08Z ecraven: though I get slightly different numbers than you 2018-11-23T19:19:31Z civodul joined #scheme 2018-11-23T19:20:31Z ecraven: which version did you run exactly? on 0.8, the numbers match exactly 2018-11-23T19:22:36Z ecraven: on git head, this seems to work fine too 2018-11-23T19:22:40Z ecraven: I had an old 0.7.3 installed 2018-11-23T19:25:10Z Riastradh: Ah. I bet it's due to double-rounding in long double. 2018-11-23T19:26:20Z Riastradh: Or, rather, no, because the algorithm is written assuming 64-bit long double precision and the system I'm on has it set to 53-bit by default. 2018-11-23T19:26:27Z Riastradh: I bet if you ran it on an arm it would also fail. 2018-11-23T19:26:52Z ecraven: hm.. I'll see whether I can do that 2018-11-23T19:29:11Z ecraven: I need more rpis 2018-11-23T19:36:58Z xkapastel: i wanna get like 4 rpis and do machine learning stuff with lisp 2018-11-23T19:38:38Z ecraven: hm.. missing dlfcn.h 2018-11-23T19:39:33Z Riastradh: ecraven: https://mumble.net/~campbell/tmp/20181123/sexp.patch 2018-11-23T19:39:38Z Riastradh: (to witness on x86) 2018-11-23T19:40:59Z ecraven: can't build on arm, my rpi distro doesn't seem to have dlfcn.h :-/ 2018-11-23T19:41:41Z hugh_marera quit (Quit: hugh_marera) 2018-11-23T19:42:43Z hugh_marera joined #scheme 2018-11-23T19:43:22Z ggole quit (Quit: ggole) 2018-11-23T19:44:02Z amz3 joined #scheme 2018-11-23T19:53:29Z grettke joined #scheme 2018-11-23T19:58:55Z edw: Various keyword syntax arguments have stated that MIT Scheme supports both :foo and foo: yet evaluating :foo (or foo:) results in a "foo not defined error". 2018-11-23T19:59:43Z edw: And (symbol? \:foo) evaluates to true. 2018-11-23T19:59:52Z edw: Er, (symbol ':foo). 2018-11-23T20:00:03Z edw: Er, (symbol? ':foo). 2018-11-23T20:00:45Z Riastradh: edw: -*- keyword-style: prefix -*- 2018-11-23T20:01:35Z edw: Ah. Thank you. Is that in the (User|Reference) Manual? 2018-11-23T20:01:40Z Riastradh: No idea. 2018-11-23T20:06:01Z edw: Appears to not appear in neither. Was hoping to figure out how to get the *scheme* buffer to comply with my wishes. 2018-11-23T20:10:10Z Riastradh: (parameterize ((param:reader-keyword-style 'prefix)) (ve '(user))), maybe. 2018-11-23T20:10:29Z muelleme joined #scheme 2018-11-23T20:10:33Z hugh_marera quit (Quit: hugh_marera) 2018-11-23T20:12:14Z edw: Riastradh: thanks. 2018-11-23T20:16:22Z razzy joined #scheme 2018-11-23T20:17:27Z razzy quit (Remote host closed the connection) 2018-11-23T20:17:42Z razzy joined #scheme 2018-11-23T20:24:28Z edw: Riastradh, the problem: this box's Ubuntu distrib is using an MIT Scheme from '16. 2018-11-23T20:24:43Z confusedwanderer: there is a $1000 bounty for a bug on on Chez: https://github.com/cisco/ChezScheme/issues/364 2018-11-23T20:27:48Z hugh_marera joined #scheme 2018-11-23T20:28:34Z wasamasa: for good reason, this kind of bug is mindnumbing to hunt 2018-11-23T20:28:45Z Riastradh: edw: Maybe (fluid-let ((*parser-keyword-style* 'prefix)) (ve '(user))), then. 2018-11-23T20:29:47Z confusedwanderer: wasamasa: i can imagine! hope someone helps stergiotis or he can figure it out/find an alternative 2018-11-23T20:30:16Z wasamasa: I've run into such a bug once so far, eventually a core dev hunted it down 2018-11-23T20:30:36Z wasamasa: not for chez though, CHICKEN 2018-11-23T20:31:14Z confusedwanderer: i see 2018-11-23T20:31:59Z wasamasa: it turned out to be memory corruption by something entirely else and it took some from me to notice 2018-11-23T20:33:03Z confusedwanderer: wow. makes me appreciate not working directly in C 2018-11-23T20:33:56Z wasamasa: you should be glad that most of the C code you rely on not breaking down on you :P 2018-11-23T20:34:25Z wasamasa: sometimes all it takes to challenge that assumption is upgrading gcc 2018-11-23T20:34:37Z wasamasa: or trying to compile it on a different system 2018-11-23T20:35:27Z wasamasa: one of the weirder things in development for me was printf not working at all 2018-11-23T20:35:50Z wasamasa: it was as if the line was skipped silently 2018-11-23T20:36:05Z daviid joined #scheme 2018-11-23T20:36:13Z confusedwanderer: wow, did you figure it out? 2018-11-23T20:36:26Z wasamasa: turned out that reordering code or optimizing a seemingly unrelated function out is fair game if your code runs into undefined behavior 2018-11-23T20:36:58Z confusedwanderer: oh 2018-11-23T20:37:01Z wasamasa: I switched to slightly different optimization settings and all was well again 2018-11-23T20:37:44Z wasamasa: but I never fixed the underlying fault in that codebase 2018-11-23T20:38:16Z wasamasa: most funny thing: this project claimed the lisp it implemented was free of undefined behavior 2018-11-23T20:39:05Z confusedwanderer: that's crazy 2018-11-23T20:39:21Z wasamasa: yeah, this made me realize that undefined behavior is part of life 2018-11-23T20:39:56Z wasamasa: it's just that the C kind keeps surprising us 2018-11-23T20:40:01Z confusedwanderer: i'm glad for the most part that layer of concerns can be forgotten in a higher level language 2018-11-23T20:40:12Z wasamasa: it can, but it may as well show up again 2018-11-23T20:40:31Z confusedwanderer: you're right 2018-11-23T20:40:38Z kjak quit (Quit: Lost terminal) 2018-11-23T20:41:12Z confusedwanderer: at least you can put those thoughts away until things starting looking really crazy, right? 2018-11-23T20:41:39Z wasamasa: yeah and this is quite impressive if you think about how complex systems are these days 2018-11-23T20:43:08Z confusedwanderer: it really is 2018-11-23T20:43:14Z wasamasa: to think that the hardware you're running this on is less likely to have a bug than a browser coerced into being an application platform 2018-11-23T20:43:29Z confusedwanderer: hahaha 2018-11-23T20:43:52Z kjak joined #scheme 2018-11-23T20:44:26Z Riastradh quit (Ping timeout: 244 seconds) 2018-11-23T20:46:35Z confusedwanderer: last week i read a paper by martin ward on language oriented programming in which he argues the single greatest increase in programmer productivity came from higher level languages 2018-11-23T20:47:17Z confusedwanderer: it's from 94 2018-11-23T20:48:31Z confusedwanderer: he then argues another great gain in productivity could come from using domain oriented languages 2018-11-23T20:48:40Z rain1: yikes 2018-11-23T20:48:42Z ecraven: lisp and DSLs :D 2018-11-23T20:48:49Z rain1: didn't know there was so much gold in scheme compiler bugfixing 2018-11-23T20:49:11Z edw: confusedwanderer: One of the premises of _The Practice of Programming_ is that solving problems is best accomplished by designing languages that allow you to concisely express the problems. The book's from the mid-late Nineties. 2018-11-23T20:49:44Z wasamasa: confusedwanderer: I'm wondering whether careful design shouldn't have been more important than productivity 2018-11-23T20:50:08Z edw: The next person who says "DSL" in my presence will never write another line of Ruby in their natural lives. 2018-11-23T20:51:27Z confusedwanderer: edw: the paper in question is called "Language Oriented Programming". it seems like ward created the term 2018-11-23T20:53:43Z confusedwanderer: wasamasa: i wonder how much a domain language could help in the design 2018-11-23T20:53:59Z wasamasa: it can help indeed 2018-11-23T20:54:08Z wasamasa: see the whole langsec topic 2018-11-23T20:55:01Z wasamasa: they argue for using formal languages and generated parsers in favor of handrolled ones 2018-11-23T20:55:26Z confusedwanderer: i didn't know about langsec, thanks for pointing it out 2018-11-23T20:55:52Z wasamasa: there's a guy at the local hackerspace who loves to argue about how evil turing-complete languages are 2018-11-23T20:56:31Z wasamasa: that is, in situations where something less powerful is fine 2018-11-23T20:56:35Z confusedwanderer: does he like agda/coq/idris? 2018-11-23T20:56:43Z confusedwanderer: oh i see 2018-11-23T20:59:02Z confusedwanderer: i was reading about the nanopass framework used in the chez implementation and it is based on defining languages and transformations between them 2018-11-23T21:00:21Z edw: See also: nearly every modern web templating engine that takes the opinion that anything more than facilities for composiiton and iteration constitutes an open invitation for abuse. 2018-11-23T21:03:08Z ecraven: wasamasa: but when is something less powerful actually *fine*? 2018-11-23T21:03:25Z ecraven: I've never seen the situation where I would have preferred a *less* powerful language 2018-11-23T21:03:40Z wasamasa: you must be drunk with power :D 2018-11-23T21:03:57Z ecraven: well, the choice between Lisp and Pascal was never hard for me 2018-11-23T21:04:01Z wasamasa: think of something like a chatbot that requires configuration 2018-11-23T21:04:38Z wasamasa: you could allow a turing-complete language for that or something more limited 2018-11-23T21:05:19Z wasamasa: the choice gets more interesting if you think about how it will behave in the presence of malicious user input 2018-11-23T21:05:31Z confusedwanderer: edw: in the book "language oriented programming in racket" there is an interview with matthew flatt in which he says he is not sure about racket's "info" language used for describing packages and dependencies 2018-11-23T21:05:49Z ecraven: wasamasa: well, the main question to me is is your configuration data or code 2018-11-23T21:05:59Z wasamasa: preferably data 2018-11-23T21:06:01Z ecraven: if it is code, I want it to be the most powerful sort of code ;) 2018-11-23T21:06:05Z ecraven: if it is data, the question is moot 2018-11-23T21:06:18Z ecraven: most of the time, I'd prefer it to be code though ;) 2018-11-23T21:06:40Z ecraven: I always run into situations where I would *like* to write something in config files that just cannot be expressed... reduce duplication, that sort of thing 2018-11-23T21:08:16Z confusedwanderer: ecraven: i agree after suffering for years with maven POM files. but mflatt's argument is that the use of a language for configuration files discourages the creation of tools that understand and manipulate the configuration 2018-11-23T21:09:34Z ecraven: confusedwanderer: it all depends on the exact use case, as always 2018-11-23T21:09:45Z confusedwanderer: i agree 2018-11-23T21:10:14Z ecraven: confusedwanderer: I'd be happy enough if most configuration used a uniform *syntax* (s-expressions of course :P) 2018-11-23T21:10:25Z confusedwanderer: there is also some space for conventions instead of obligations i think 2018-11-23T21:10:34Z confusedwanderer: hahaha 2018-11-23T21:11:02Z ecraven: but seriously, some sort of simple data syntax with s-expressions and some way to define simple "macros" (for repeated parts) would go a very long way 2018-11-23T21:11:28Z ecraven: but then, that could be seen as a very limited "language", which I've been arguing against :P 2018-11-23T21:11:40Z confusedwanderer: D: 2018-11-23T21:13:03Z confusedwanderer: racketeers would certainly consider it one, i think 2018-11-23T21:13:56Z confusedwanderer: they argue for a whole spectrum of languages 2018-11-23T21:14:08Z klovett_ quit (Remote host closed the connection) 2018-11-23T21:18:01Z confusedwanderer: do you people define languages for your projects? 2018-11-23T21:19:38Z confusedwanderer: be it first defining a language and then implementing/using it (ward calls it "middle-out development") 2018-11-23T21:19:55Z confusedwanderer: or just creating macros "organically" 2018-11-23T21:19:58Z ecraven: I mostly do the build-Scheme-up-to-your-DSL thing 2018-11-23T21:20:11Z ecraven: so just define suitable functions for solving your problems, then implement them ;) 2018-11-23T21:20:19Z ecraven: but I don't actually design them as languages 2018-11-23T21:20:44Z ecraven: also, I mostly do my hobby and freelance stuff, haven't been able to convince the employer yet to use Scheme at work ;) 2018-11-23T21:21:01Z ecraven: though I might be able to use chez, compiling to a single executable file 2018-11-23T21:22:02Z confusedwanderer: ecraven: i see, so it is more bottom-up, right? 2018-11-23T21:22:18Z confusedwanderer: ecraven: do you use chez for your hobby? 2018-11-23T21:22:30Z wasamasa: https://ptpb.pw/qLnf.png 2018-11-23T21:23:41Z wasamasa: I'm looking forward to this episode being solely about parentheses 2018-11-23T21:24:00Z confusedwanderer: hahahaha 2018-11-23T21:24:44Z confusedwanderer: enjoy your metacircular robots 2018-11-23T21:41:29Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-23T21:42:13Z rain1: http://www.rosettacode.org/wiki/AKS_test_for_primes#Scheme i added this 2018-11-23T21:44:53Z muelleme quit (Ping timeout: 244 seconds) 2018-11-23T21:47:01Z rain1: http://www.rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Scheme 2018-11-23T21:49:09Z klovett joined #scheme 2018-11-23T21:55:05Z qu1j0t3: edw: https://twitter.com/PulpLibrarian/status/1066087655480459264 2018-11-23T22:04:45Z permagreen joined #scheme 2018-11-23T22:06:05Z Riastradh joined #scheme 2018-11-23T22:14:51Z hugh_marera quit (Quit: hugh_marera) 2018-11-23T22:17:18Z hugh_marera joined #scheme 2018-11-23T22:26:31Z rain1: maybe I should make a scheme that's just the way I want it 2018-11-23T22:33:58Z pierpal quit (Ping timeout: 244 seconds) 2018-11-23T22:34:54Z gravicappa quit (Ping timeout: 250 seconds) 2018-11-23T22:34:55Z aeth: rain1: no 2018-11-23T22:35:49Z aeth: rain1: I mean I guess in theory you could make it in 48 hours like the Scheme48 devs... except of course actually double it to 96 if you're working alone... 2018-11-23T22:36:47Z aeth: But the research and learning stage before that is probably going to take a year :-p 2018-11-23T22:39:53Z aeth: If you really want to take a multiyear detour from your actual task, go ahead and write a Scheme. 2018-11-23T22:42:28Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-23T22:42:49Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-23T22:47:06Z ngz quit (Ping timeout: 252 seconds) 2018-11-23T22:50:52Z rain1: I just cant settle on any one scheme impl. 2018-11-23T22:51:04Z rain1: they all do something that i don't like 2018-11-23T22:51:19Z qu1j0t3: what does chicken do that you don't like 2018-11-23T22:53:34Z qu1j0t3 not a partisan, just curious 2018-11-23T22:55:15Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T22:56:30Z hugh_marera quit (Quit: hugh_marera) 2018-11-23T22:59:51Z xkapastel: cheney on the mta causes a lot of incompatibilities 2018-11-23T23:00:11Z xkapastel: libuv for one, also it's not really gonna work in e.g. wasm 2018-11-23T23:00:36Z klovett joined #scheme 2018-11-23T23:03:13Z sethalves joined #scheme 2018-11-23T23:04:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-23T23:05:24Z klovett joined #scheme 2018-11-23T23:08:13Z muelleme joined #scheme 2018-11-23T23:10:03Z klovett quit (Ping timeout: 268 seconds) 2018-11-23T23:14:13Z muelleme quit (Ping timeout: 245 seconds) 2018-11-23T23:19:04Z lritter quit (Quit: Leaving) 2018-11-23T23:37:29Z rain1: https://bpaste.net/show/eed223ff4531 what do you think about this as an approach to simulate tail calls? e.g. for transpiling scheme to js 2018-11-23T23:40:23Z amz3: you have the style 2018-11-23T23:41:11Z amz3: nice trick 2018-11-23T23:44:08Z amz3 quit (Read error: Connection reset by peer) 2018-11-24T00:28:26Z acarrico quit (Ping timeout: 250 seconds) 2018-11-24T00:29:10Z lambda-11235 joined #scheme 2018-11-24T00:29:22Z acarrico joined #scheme 2018-11-24T00:47:20Z klovett joined #scheme 2018-11-24T00:56:22Z jao joined #scheme 2018-11-24T01:03:56Z pierpal joined #scheme 2018-11-24T01:04:07Z daviid quit (Ping timeout: 240 seconds) 2018-11-24T01:04:28Z Riastradh: rain1: Why not just use a normal trampoline? 2018-11-24T01:04:36Z Riastradh: Why use exceptions? 2018-11-24T01:11:38Z zachk quit (Quit: Leaving) 2018-11-24T01:33:57Z daviid joined #scheme 2018-11-24T01:35:19Z klovett quit (Ping timeout: 246 seconds) 2018-11-24T01:40:54Z klovett joined #scheme 2018-11-24T01:44:38Z pjb quit (Remote host closed the connection) 2018-11-24T01:45:18Z klovett quit (Ping timeout: 252 seconds) 2018-11-24T01:45:56Z klovett joined #scheme 2018-11-24T01:49:10Z pjb joined #scheme 2018-11-24T01:50:22Z klovett quit (Ping timeout: 246 seconds) 2018-11-24T01:53:34Z pjb quit (Ping timeout: 252 seconds) 2018-11-24T02:09:58Z wigust- joined #scheme 2018-11-24T02:12:00Z wigust quit (Ping timeout: 244 seconds) 2018-11-24T02:13:37Z pjb joined #scheme 2018-11-24T02:21:30Z klovett joined #scheme 2018-11-24T02:33:34Z klovett quit (Remote host closed the connection) 2018-11-24T02:33:51Z klovett joined #scheme 2018-11-24T02:36:37Z klovett_ joined #scheme 2018-11-24T02:39:28Z klovett quit (Ping timeout: 272 seconds) 2018-11-24T02:40:04Z klovett joined #scheme 2018-11-24T02:41:02Z klovett_ quit (Ping timeout: 250 seconds) 2018-11-24T02:46:21Z pjb quit (Ping timeout: 252 seconds) 2018-11-24T02:50:16Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-24T02:52:46Z grettke joined #scheme 2018-11-24T02:54:32Z robotoad quit (Quit: robotoad) 2018-11-24T02:57:02Z shinzo joined #scheme 2018-11-24T03:01:03Z shinzo: Hi, need help with excercise 498 from htdp https://htdp.org/2018-01-06/Book/part_six.html#%28part._sec~3atrans-accu%29 - having trouble understanding the accummulator statement and what's the hint of the hint? 2018-11-24T03:01:41Z shinzo: part of the accumulator statement: the second accumulator stands for the tallest branch in the part of abt0 that is to the left of abt. 2018-11-24T03:02:47Z pjb joined #scheme 2018-11-24T03:03:36Z robotoad joined #scheme 2018-11-24T03:08:54Z pjb quit (Ping timeout: 252 seconds) 2018-11-24T03:11:34Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-24T04:21:45Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-24T04:21:58Z keep_learning_M joined #scheme 2018-11-24T04:25:07Z grettke joined #scheme 2018-11-24T04:37:01Z daviid quit (Read error: Connection reset by peer) 2018-11-24T05:08:25Z shinzo quit (Quit: leaving) 2018-11-24T05:19:13Z jao quit (Ping timeout: 245 seconds) 2018-11-24T05:27:41Z skapata quit (Remote host closed the connection) 2018-11-24T05:43:01Z ggole joined #scheme 2018-11-24T06:18:01Z TheGreekOwl quit (Ping timeout: 268 seconds) 2018-11-24T06:48:31Z keep_learning quit (Remote host closed the connection) 2018-11-24T06:56:17Z gravicappa joined #scheme 2018-11-24T07:22:03Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-24T07:22:34Z grettke joined #scheme 2018-11-24T07:35:30Z nikos_ joined #scheme 2018-11-24T07:37:43Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-24T08:05:09Z muelleme joined #scheme 2018-11-24T08:10:15Z muelleme quit (Ping timeout: 268 seconds) 2018-11-24T08:15:45Z robotoad quit (Quit: robotoad) 2018-11-24T08:36:51Z lambda-11235 quit (Quit: Bye) 2018-11-24T08:48:37Z razzy quit (Ping timeout: 246 seconds) 2018-11-24T09:05:47Z Riastradh quit (Ping timeout: 240 seconds) 2018-11-24T09:09:42Z elderK quit (Ping timeout: 252 seconds) 2018-11-24T09:32:16Z gravicappa quit (Ping timeout: 268 seconds) 2018-11-24T10:00:48Z xkapastel joined #scheme 2018-11-24T10:11:29Z daviid joined #scheme 2018-11-24T10:13:14Z nikos_ quit (Quit: Konversation terminated!) 2018-11-24T10:23:04Z ng0 joined #scheme 2018-11-24T10:25:45Z hugh_marera joined #scheme 2018-11-24T10:29:56Z hugh_marera quit (Remote host closed the connection) 2018-11-24T10:31:45Z hugh_marera joined #scheme 2018-11-24T10:38:11Z hugh_marera quit (Quit: hugh_marera) 2018-11-24T11:02:32Z hugh_marera joined #scheme 2018-11-24T11:16:20Z pjb joined #scheme 2018-11-24T11:21:14Z muelleme joined #scheme 2018-11-24T11:26:21Z muelleme quit (Ping timeout: 268 seconds) 2018-11-24T11:29:22Z hugh_marera quit (Quit: hugh_marera) 2018-11-24T11:30:58Z hugh_marera joined #scheme 2018-11-24T11:31:30Z hugh_marera quit (Client Quit) 2018-11-24T11:34:30Z ski joined #scheme 2018-11-24T11:36:46Z gravicappa joined #scheme 2018-11-24T11:44:41Z Inline quit (Read error: Connection reset by peer) 2018-11-24T11:45:13Z Inline joined #scheme 2018-11-24T11:51:36Z Wojciech_K joined #scheme 2018-11-24T12:08:46Z thevishy joined #scheme 2018-11-24T12:19:06Z amz3 joined #scheme 2018-11-24T12:23:37Z thevishy quit (Quit: thevishy) 2018-11-24T12:25:37Z jao joined #scheme 2018-11-24T12:39:07Z siiky joined #scheme 2018-11-24T12:44:51Z lavaflow quit (Quit: WeeChat 2.2) 2018-11-24T12:45:23Z lavaflow joined #scheme 2018-11-24T12:46:18Z razzy joined #scheme 2018-11-24T12:53:34Z jim joined #scheme 2018-11-24T13:01:51Z Inline quit (Quit: Leaving) 2018-11-24T13:06:18Z Inline joined #scheme 2018-11-24T13:06:58Z jim quit (Remote host closed the connection) 2018-11-24T13:15:35Z jim joined #scheme 2018-11-24T13:48:00Z decent-username joined #scheme 2018-11-24T13:48:14Z decent-username: hi everyone. Is there a build in way to print lists? 2018-11-24T13:48:35Z wasamasa: the primitives are display and write 2018-11-24T13:48:42Z wasamasa: display is for humans, write for machines 2018-11-24T13:49:04Z decent-username: (display (list 1 2 3 4)) 2018-11-24T13:49:19Z decent-username: what's so wrong about this one? 2018-11-24T13:49:23Z wasamasa: nothing 2018-11-24T13:52:07Z khisanth_ quit (Ping timeout: 240 seconds) 2018-11-24T13:52:22Z muelleme joined #scheme 2018-11-24T13:52:39Z decent-username: thanks for clearing that up. I had a problem with a misplaced `begin`. 2018-11-24T13:53:24Z decent-username: I can't wait to get to the part of SICP where you'll implement a sane object system. 2018-11-24T13:53:28Z decent-username: :3 2018-11-24T13:57:02Z muelleme quit (Ping timeout: 250 seconds) 2018-11-24T13:59:47Z decent-username: https://pastebin.com/raw/2sY1yJaK This is how I implemented the `reverse` procedure that returns a reversed version of the input list. 2018-11-24T14:00:47Z decent-username: Is this right? My Scheme implementation says that I'm returning a procedure and the list afterwards. 2018-11-24T14:02:57Z decent-username: $58 = # (#:optional _ _ . _)> 2018-11-24T14:02:58Z decent-username: $59 = (4 3 2 1) 2018-11-24T14:03:20Z wasamasa: looks good to me 2018-11-24T14:03:54Z wasamasa: what exactly did you evaluate? 2018-11-24T14:04:06Z wasamasa: the definition of it and an example call? 2018-11-24T14:04:57Z decent-username: I first defined a list like that: (define one-through-four (list 1 2 3 4)) 2018-11-24T14:04:57Z decent-username: 2018-11-24T14:05:05Z decent-username: and simply called reverse: (reverse one-through-four) 2018-11-24T14:05:13Z khisanth_ joined #scheme 2018-11-24T14:06:15Z decent-username: It's weird. 2018-11-24T14:19:46Z siiky quit (Quit: leaving) 2018-11-24T14:47:20Z pjb: decent-username: compare: (display (list "hello" "world")) with (write (list "hello" "world")) 2018-11-24T14:47:42Z pjb: (begin (display (list "hello" "world")) (newline) (write (list "hello" "world")) (newline)) 2018-11-24T14:48:52Z edw: rudybot: eval (display '("foo" "bar")) 2018-11-24T14:49:03Z rudybot: edw: error: with-limit: out of time 2018-11-24T14:49:15Z pjb: It's printing > 2018-11-24T14:49:25Z pjb: Probably you entered the prompt itself at the prompt! 2018-11-24T14:49:46Z pjb: ie. cockpit error at the repl. 2018-11-24T14:51:01Z edw: rudybot: eval (display '("foo" "bar")) 2018-11-24T14:51:01Z rudybot: edw: ; stdout: "(foo bar)" 2018-11-24T14:51:08Z edw: rudybot: eval (write '("foo" "bar")) 2018-11-24T14:51:09Z rudybot: edw: ; stdout: "(\"foo\" \"bar\")" 2018-11-24T14:54:51Z edw: Anyone familiar enough with MIT Scheme to know why Edwin might not want to start up when built from source on Ubuntu (because it can't find a display...in terminal mode) vs Edwin happily starting up in a terminal? I'm using TERM=screen but setting TERM=vt100 or whatever doesn't seem to improve things. 2018-11-24T14:57:06Z pierpal quit (Quit: Poof) 2018-11-24T14:57:26Z pierpal joined #scheme 2018-11-24T15:10:25Z civodul joined #scheme 2018-11-24T15:10:51Z pjb: edw: export DISPLAY=:0.0 2018-11-24T15:11:55Z pjb: export PS1='[\u@\h $(case "$DISPLAY" in (*/*) basename "$DISPLAY" ;; (*) echo "$DISPLAY" ;; esac) \W]$ ' 2018-11-24T15:12:08Z siraben: Is there an R5RS-conforming Scheme implementation in C without any linking of new libraries? 2018-11-24T15:16:47Z edw: pjb: I've spent most of the last twenty-five years of my life avoiding X11, but doesn't `:0.0` denote an X11 server running locally? Random googling suggested that I try `DISPLAY= mit-scheme' to force console' -- which stil doesn't work. 2018-11-24T15:17:40Z edw: I've found a message about this in the archives where Riastradh suggests installing ncurses-dev package or similar and rebuilding, which is what I'm doing at the moment. 2018-11-24T15:20:24Z rain1: Riastradh, ify ou're reading this.. perhaps a normal trampoline is better(?). I was just working through the idea of using exceptions somehow to simulate tail calls 2018-11-24T15:20:27Z rain1: this was the best i came up with 2018-11-24T15:21:19Z rain1: [[\x.b]] = \x.\().[[b]] and tail calls [[(f x)]] = throw(f(x)); non tail call [[(f x)]] = INVOKE(f(x)) 2018-11-24T15:21:53Z rain1: so every non-tail call site has an INVOKE(thunk) = while(true}{try{return thunk()}catch(e){thunk=e;}} 2018-11-24T15:22:09Z edw: pjb: Riastradh's advice (from > eight years ago) at worked. 2018-11-24T15:23:02Z rain1: siraben: tinyscheme might fit that 2018-11-24T15:31:20Z siraben: rain1: I have tinyscheme installed, although it is quite limited. Doesn't implement a lot of R5RS 2018-11-24T15:31:41Z rain1: ah that sucks! 2018-11-24T15:31:50Z rain1: there may not be such a scheem 2018-11-24T15:32:27Z elderK joined #scheme 2018-11-24T15:40:39Z Riastradh joined #scheme 2018-11-24T15:45:10Z edw: siraben: Chibi doesn't have (or needn't have) many external dependencies and aside from some irritating R5RS+-isms (case sensitivity) may fit the bill. 2018-11-24T15:45:31Z edw: The Makefile is a bear though. 2018-11-24T15:45:41Z Riastradh: What's wrong with the makefile? 2018-11-24T15:46:35Z edw: qu1j0t3 and I have failed to adapt it to build targets that the README suggests are supported, namely emscripten and iOS. 2018-11-24T15:47:32Z skapata joined #scheme 2018-11-24T15:47:37Z edw: One is entirely entitled to blame the craftspeople, not the tools, of course. 2018-11-24T15:49:44Z Riastradh: What did you try? What does `make PLATFORM=emscripten SEXP_USE_DL=0' do? 2018-11-24T15:49:52Z Riastradh: (I haven't tried this, just wondering.) 2018-11-24T15:52:15Z edw: I was the iOS guy; jcowan was helping qu1j0t3 with some "disabling dynamic libraries" issues the other day. Recall your "compile-time options are for shitty software" (paraphrasing) comment? 2018-11-24T15:52:22Z qu1j0t3: not me 2018-11-24T15:52:42Z edw: "Don't blame me!" 2018-11-24T15:52:44Z edw: :P 2018-11-24T15:52:54Z qu1j0t3: i wasn't involved. jcowan must have been helpign someone else. 2018-11-24T15:52:55Z edw: Sorry, can't recall who it was. 2018-11-24T15:53:06Z qu1j0t3: np 2018-11-24T15:53:32Z xkapastel: it was me 2018-11-24T15:53:34Z edw: It was xkapastel. (Just consulted history.( 2018-11-24T16:07:13Z jcowan: yes, although I don't think I was much help 2018-11-24T16:09:26Z muelleme joined #scheme 2018-11-24T16:13:14Z decent-username quit (Remote host closed the connection) 2018-11-24T16:23:05Z jcowan: Unfortunately I can't build for emscripten on this box because you need to do a static build, and crt0.o isn't available 2018-11-24T16:24:31Z jcowan: I suppose I could fire up my AWS instance 2018-11-24T16:25:10Z jcowan: but emscripten, like Plan 9, requires a special build process 2018-11-24T16:25:37Z jcowan: on Plan 9, just type 'mk' (native make) and all is well, I've tried it 2018-11-24T16:29:36Z rain1: it seems that there is demand for a scheme that doesn't really exist as far as i can tell 2018-11-24T16:30:41Z Riastradh: s/scheme/world/1 2018-11-24T16:31:59Z lritter joined #scheme 2018-11-24T16:42:12Z jcowan: Amen 2018-11-24T16:49:27Z amz3: what is that scheme that is in demande? 2018-11-24T16:50:07Z amz3: one that can be compiled using emscripten? 2018-11-24T16:50:13Z wasamasa: I suspect siraben just has issues compiling chibi on something non-standard 2018-11-24T16:51:07Z wasamasa: the problem I see here is that plenty of language implementations in C make use of things not guaranteed by the standard 2018-11-24T16:52:42Z wasamasa: such as that pointers are integer-like 2018-11-24T16:53:53Z wasamasa: there's at least one implementation of C where this is not the case 2018-11-24T16:56:23Z ecraven: which one? 2018-11-24T16:56:51Z wasamasa: the one implemented on top of lisp 2018-11-24T16:57:15Z ecraven: the symbolics C compiler? 2018-11-24T16:57:29Z wasamasa: yes 2018-11-24T16:57:40Z wasamasa: it's quite funny code 2018-11-24T16:58:25Z ecraven: I never looked at the actual code ;) just heard it is an actual full-blown C compiler that was used to run actual C software ;) 2018-11-24T16:58:48Z ecraven: is it more of an interpreter, or does it compile to actual lisp machine assembly? 2018-11-24T16:59:05Z wasamasa: all I've looked at is the lisp runtime that makes pointers work 2018-11-24T16:59:36Z wasamasa: https://begriffs.com/posts/2018-11-15-c-portability.html 2018-11-24T16:59:54Z wasamasa: > Targeting the Symbolics Lisp machine required some creativity. For instance, a pointer is represented as a pair consisting of a reference to a list and a numerical offset into the list. In particular, the NULL pointer is , basically a NIL list with no offset. Certainly not a bitwise zero integral value. 2018-11-24T17:00:07Z ecraven: I read that a few days ago ;) 2018-11-24T17:00:35Z wasamasa: the thing I've looked at uses an offset into an array though 2018-11-24T17:00:36Z ecraven: (unrelated, but I finally ordered my PiDP-11 ;) I wish they made a PiDP-10, to run old lisps on :P) 2018-11-24T17:01:14Z ecraven: might actually be an interesting way to develop C code, it would run slower, but you could get all sorts of assertions and guards you don't normally get 2018-11-24T17:03:32Z wasamasa: I dunno, I run into plenty of code not foreseeing what a future version of gcc would do to it 2018-11-24T17:05:45Z nika joined #scheme 2018-11-24T17:34:22Z razzy quit (Ping timeout: 272 seconds) 2018-11-24T17:38:50Z jcowan: ecraven: Real PDP-10 weenies say the emulator is remarkably true, except of course it runs way too fast. 2018-11-24T17:39:48Z jcowan: specifically the late Marc Crispin, inventor of UTF-9 and UTF-18 2018-11-24T17:40:34Z jcowan: this is KLH-10 I'm referring to 2018-11-24T17:43:09Z jcowan: I can personally confirm that the SIMH emulation of a PDP-8 is awesomesauce 2018-11-24T18:01:38Z silas quit (Ping timeout: 244 seconds) 2018-11-24T18:10:51Z jcowan: hmm, was looking at the PDP-10 documentation and skimming through the Algol 60 manual (Algol 60 being one of the roots of Scheme) 2018-11-24T18:11:07Z jcowan: and found something very interesting in the chapter on strings 2018-11-24T18:11:47Z jcowan: in pure A60, strings are very limited: there are string constants and variables of type string, but no operations on them; in the end you have to pass them to a non-Algol procedure such as I/O or whatever your implementation may have 2018-11-24T18:12:01Z jcowan: In 10A60, however, strings have a cdr! 2018-11-24T18:12:44Z wasamasa: 10A60? 2018-11-24T18:12:55Z jcowan: PDP-10 Algol 60 2018-11-24T18:13:32Z jcowan: by default the cdr of a string is nil, but you have cdr and set-cdr! operators, and indexing into the string goes down the cdr chain. 2018-11-24T18:14:07Z jcowan: this is something between conventional strings and ropes (which for Lisp weenies are trees whose leaves are conventional strings) 2018-11-24T18:14:21Z jcowan: I have never seen anything quite like this before, however 2018-11-24T18:16:55Z jcowan: it means that strings, like lists, can share their tails 2018-11-24T18:22:22Z ggole: Sort of like a CDR coded list, but specialised for containing chars 2018-11-24T18:23:54Z jcowan: Yes 2018-11-24T18:25:11Z jcowan: This Algol also extends the comparison ops to strings, which is natural, and likewise subscripting syntax, which uses [] 2018-11-24T18:26:01Z jcowan: thanks to the PDP-11's ability to handle different byte sizes, you can set that when you create a string, though 7 bits is the default 2018-11-24T18:26:08Z jcowan: s/11/10 2018-11-24T18:35:45Z klovett quit (Ping timeout: 252 seconds) 2018-11-24T18:39:52Z sethalves quit (Ping timeout: 244 seconds) 2018-11-24T18:40:40Z sethalves joined #scheme 2018-11-24T18:43:05Z TheGreekOwl joined #scheme 2018-11-24T19:04:30Z logicmoo is now known as dmiles 2018-11-24T19:04:33Z skapata quit (Ping timeout: 268 seconds) 2018-11-24T19:07:51Z klovett joined #scheme 2018-11-24T19:09:33Z ggole quit (Quit: ggole) 2018-11-24T19:12:06Z jcowan: Wow. The PDP-10 implementation also takes the strict view of 'own' variables. 2018-11-24T19:16:10Z jcowan: No other language has anything like it 2018-11-24T19:18:07Z skapata joined #scheme 2018-11-24T19:47:16Z alezost joined #scheme 2018-11-24T19:55:09Z robotoad joined #scheme 2018-11-24T19:58:36Z razzy joined #scheme 2018-11-24T20:04:51Z casmajavi joined #scheme 2018-11-24T20:10:15Z Riastradh: own? 2018-11-24T20:11:42Z jcowan: The simplest understanding of own variable is that they are like C static variables: accessible only from their scope (global or local) but retaining their value between calls. 2018-11-24T20:12:35Z jcowan: However, a strict interpretation of R0RA and R1RA says that a recursive call (direct or indirect) creates a new own variable which keeps its value between other recursive calls at that level 2018-11-24T20:13:26Z jcowan: thus (define (f) (own x) ... (f) ... (f) ...) will cause any assignment to x during the first recursive call to be accessible to the second recursive call, but not outside it 2018-11-24T20:14:27Z Riastradh: Wacky. 2018-11-24T20:14:30Z qu1j0t3: is there a good use case? 2018-11-24T20:14:31Z jcowan: furthermore, if x is of type array and its bounds depend on other arguments to the procedure (which is permitted), then the own variable will be reshaped every time the bounds change. 2018-11-24T20:15:05Z edw: You think that was a thoughtful, reasoned, intentional implication of the standard or more like an awkward corner case? 2018-11-24T20:15:17Z jcowan: I think it is like call-by-name, an accidental consequence of the way the report was written, namely that procedure call is to be interpreted as inlining (with alphatizing of call-by value variables) 2018-11-24T20:15:57Z jcowan: in principle one could write an a60 interpreter that lazily inlined a procedure definition into the AST on every call, but I don't know that anyone ever has 2018-11-24T20:16:20Z jcowan: s/variables/arguments 2018-11-24T20:17:45Z jcowan: People implemented call by name with thunks that return a pointer (so you can assign to a call-by-name parameter provided the actual argument is an lvalue) but often skipped dynamic own, especially dynamic own arrays, so it could be fairly safely removed 2018-11-24T20:18:45Z jcowan: This was the first use of _thunk_, by the way: originally defined as "the past participle of _think_ at 4 AM". 2018-11-24T20:18:48Z muelleme quit (Ping timeout: 245 seconds) 2018-11-24T20:28:24Z mchaker joined #scheme 2018-11-24T20:41:07Z muelleme joined #scheme 2018-11-24T20:43:19Z razzy quit (Ping timeout: 246 seconds) 2018-11-24T21:10:31Z casmajavi left #scheme 2018-11-24T21:30:12Z mchaker quit (Quit: Konversation terminated!) 2018-11-24T21:52:53Z gravicappa quit (Ping timeout: 268 seconds) 2018-11-24T22:00:05Z grettke joined #scheme 2018-11-24T22:02:04Z zachk joined #scheme 2018-11-24T22:02:21Z zachk quit (Changing host) 2018-11-24T22:02:21Z zachk joined #scheme 2018-11-24T22:07:52Z Zipheir joined #scheme 2018-11-24T22:14:52Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-24T22:23:45Z Riastradh: foof: Except for a tiny problem with libc's long double softfloat (something gets the low and high words reversed, oops), `make test' passes on NetBSD-current/aarch64, with all the patches I sent you applied. 2018-11-24T22:25:52Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-24T22:35:23Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-24T22:45:25Z casmajavi joined #scheme 2018-11-24T22:59:18Z ecraven: jcowan: thanks, very interesting! 2018-11-24T23:32:10Z nika quit (Quit: Konversation terminated!) 2018-11-24T23:33:36Z grettke joined #scheme 2018-11-24T23:34:40Z muelleme quit (Ping timeout: 250 seconds) 2018-11-24T23:48:02Z casmajavi quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-11-25T00:10:00Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-25T00:14:06Z klovett quit (Ping timeout: 250 seconds) 2018-11-25T00:14:18Z klovett joined #scheme 2018-11-25T00:25:07Z pierpal quit (Read error: Connection reset by peer) 2018-11-25T00:30:42Z muelleme joined #scheme 2018-11-25T00:35:20Z muelleme quit (Ping timeout: 250 seconds) 2018-11-25T00:39:39Z elderK quit (Quit: WeeChat 1.9) 2018-11-25T00:40:33Z elderK joined #scheme 2018-11-25T01:15:16Z Kundry_Wag joined #scheme 2018-11-25T01:22:41Z zachk quit (Quit: Leaving) 2018-11-25T01:30:37Z lritter quit (Ping timeout: 244 seconds) 2018-11-25T01:31:22Z lritter joined #scheme 2018-11-25T01:40:26Z Kundry_Wag quit (Ping timeout: 244 seconds) 2018-11-25T01:56:11Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T02:08:54Z grettke joined #scheme 2018-11-25T02:31:54Z ng0_ joined #scheme 2018-11-25T02:34:09Z ng0 quit (Ping timeout: 256 seconds) 2018-11-25T02:45:22Z wigust- quit (Read error: Connection reset by peer) 2018-11-25T02:47:22Z wigust joined #scheme 2018-11-25T02:51:09Z ng0_ quit (Quit: Alexa, when is the end of world?) 2018-11-25T03:10:34Z lritter quit (Remote host closed the connection) 2018-11-25T03:28:00Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T03:28:23Z robotoad quit (Quit: robotoad) 2018-11-25T03:37:10Z robotoad joined #scheme 2018-11-25T04:09:45Z muelleme joined #scheme 2018-11-25T04:15:57Z muelleme quit (Ping timeout: 244 seconds) 2018-11-25T04:17:12Z acarrico quit (Ping timeout: 272 seconds) 2018-11-25T04:19:22Z sethalves quit (Ping timeout: 246 seconds) 2018-11-25T04:31:42Z sethalves joined #scheme 2018-11-25T05:21:44Z lambda-11235 joined #scheme 2018-11-25T05:30:28Z Blukunfando joined #scheme 2018-11-25T05:45:14Z Wojciech_K quit (Ping timeout: 272 seconds) 2018-11-25T05:53:48Z klovett quit (Ping timeout: 252 seconds) 2018-11-25T06:00:18Z ggole joined #scheme 2018-11-25T06:29:39Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-25T06:45:42Z grettke joined #scheme 2018-11-25T06:53:40Z gravicappa joined #scheme 2018-11-25T07:23:40Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T07:53:31Z jao quit (Ping timeout: 268 seconds) 2018-11-25T08:05:47Z klovett joined #scheme 2018-11-25T08:11:06Z amz3 joined #scheme 2018-11-25T08:24:06Z pierpal joined #scheme 2018-11-25T08:37:36Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-25T08:39:09Z keep_learning_M joined #scheme 2018-11-25T09:13:26Z lambda-11235 quit (Quit: Bye) 2018-11-25T09:16:44Z skapata quit (Remote host closed the connection) 2018-11-25T09:47:20Z pierpal quit (Quit: Poof) 2018-11-25T09:47:38Z pierpal joined #scheme 2018-11-25T09:53:58Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-25T09:54:35Z DGASAU joined #scheme 2018-11-25T09:54:35Z ng0 joined #scheme 2018-11-25T10:14:16Z robotoad quit (Quit: robotoad) 2018-11-25T11:47:06Z zbigniew quit (Remote host closed the connection) 2018-11-25T12:31:39Z razzy joined #scheme 2018-11-25T12:32:59Z gravicappa quit (Ping timeout: 244 seconds) 2018-11-25T12:49:51Z Inline quit (Quit: Leaving) 2018-11-25T12:59:04Z Inline joined #scheme 2018-11-25T13:15:21Z casmajavi joined #scheme 2018-11-25T13:46:50Z xkapastel joined #scheme 2018-11-25T13:51:51Z DGASAU` joined #scheme 2018-11-25T13:53:54Z DGASAU quit (Ping timeout: 264 seconds) 2018-11-25T13:54:52Z Blukunfando quit (Read error: Connection reset by peer) 2018-11-25T14:20:21Z acarrico joined #scheme 2018-11-25T14:22:32Z gravicappa joined #scheme 2018-11-25T14:25:40Z dbmikus joined #scheme 2018-11-25T14:42:34Z longshi joined #scheme 2018-11-25T14:44:07Z lritter joined #scheme 2018-11-25T14:52:57Z Kundry_Wag joined #scheme 2018-11-25T14:53:05Z klovett_ joined #scheme 2018-11-25T14:53:34Z dbmikus quit (Ping timeout: 246 seconds) 2018-11-25T14:55:07Z klovett quit (Ping timeout: 250 seconds) 2018-11-25T14:55:41Z longshi quit (Quit: WeeChat 2.3) 2018-11-25T14:56:07Z jao joined #scheme 2018-11-25T15:01:03Z razzy quit (Remote host closed the connection) 2018-11-25T15:03:20Z Kundry_Wag quit (Ping timeout: 268 seconds) 2018-11-25T15:03:58Z casmajavi quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-11-25T15:36:59Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-25T15:44:08Z Kundry_Wag joined #scheme 2018-11-25T15:50:54Z amz3 joined #scheme 2018-11-25T15:57:28Z Kundry_Wag quit (Ping timeout: 250 seconds) 2018-11-25T15:57:47Z Kundry_Wag joined #scheme 2018-11-25T16:03:13Z elderK quit (Ping timeout: 246 seconds) 2018-11-25T16:18:13Z lambda-11235 joined #scheme 2018-11-25T16:20:52Z badkins quit (Ping timeout: 250 seconds) 2018-11-25T16:23:09Z edw: I just became aware of kite.com via the BBEdit mailing list. It appears to be allow one to automatically write Python using StackOverflow as a corpus for a hidden Markov model. We are doomed, I say. 2018-11-25T16:23:31Z edw: s/ be// 2018-11-25T16:27:37Z xkapastel: that's really cool 2018-11-25T16:28:25Z xkapastel: i've also seen that approach for javascript type inference 2018-11-25T16:29:36Z xkapastel: https://www.inf.ethz.ch/news-and-events/spotlights/mvechev-jsnice.html 2018-11-25T16:39:53Z amz3: /join #scheme 2018-11-25T16:39:54Z amz3: oops 2018-11-25T16:40:15Z amz3: why were you talking about emscripten? 2018-11-25T16:40:32Z amz3: I mean did anybody succeed at compiling a scheme using emsdk? 2018-11-25T16:40:48Z edw: I see it as a sign of the End Times, but tastes differ, xkapastel. For something that I find far more appealing: 2018-11-25T16:41:15Z xkapastel: amz3: i was trying to make chibi work with wasm a few days ago but i gave up 2018-11-25T16:41:27Z civodul joined #scheme 2018-11-25T16:41:30Z edw: It looks for bad code smells and suggests (and performs IIRC) improvements on Clojure projects. 2018-11-25T16:41:46Z amz3: xkapastel: what made you give up? 2018-11-25T16:41:53Z xkapastel: edw: that's also very cool, and i view those two things as complementary 2018-11-25T16:42:42Z xkapastel: amz3: the build instructions were wrong on their face, or at least are missing subtlety 2018-11-25T16:42:42Z edw: xkapastel: I see google-driven development as a Very Bad Thing and Kite appears to automate it. 2018-11-25T16:42:48Z xkapastel: for example, it says "uncomment this to disable this feature" 2018-11-25T16:42:56Z xkapastel: so you uncomment it, and the build just doesn't work at all 2018-11-25T16:43:03Z xkapastel: why didn't it just remove the feature? what else do i need to do? 2018-11-25T16:43:08Z xkapastel: it's not clear how to get the makefile to do what you want 2018-11-25T16:43:21Z amz3: xkapastel: but the README says just run: make js 2018-11-25T16:43:30Z xkapastel: okay but i want wasm, does that give me wasm? 2018-11-25T16:43:38Z xkapastel: the readme never mentioned wasm 2018-11-25T16:43:45Z amz3: wasm is already a thing? 2018-11-25T16:43:48Z xkapastel: ...yes 2018-11-25T16:44:08Z xkapastel: i imagine chibi will actually build on wasm, but i can't be bothered to figure it out without docs 2018-11-25T16:48:03Z amz3: this morning I did a demo app of pypy compiled with emsdk 2018-11-25T16:48:11Z amz3: I mean 2018-11-25T16:48:16Z amz3: pypy targetting asm.js 2018-11-25T16:48:31Z amz3: It's not using emsdk I think 2018-11-25T16:48:47Z amz3: anyway, I willing to put some effort into this, asm.js seems fine to me. 2018-11-25T16:48:54Z amz3: what's the problem with asm.js? 2018-11-25T16:49:05Z xkapastel: the problem is why aren't you using webassembly? 2018-11-25T16:49:27Z amz3: because I don't know how to use it, yet... 2018-11-25T16:49:36Z amz3: emsdk can target wasm right? 2018-11-25T16:49:51Z xkapastel: yes 2018-11-25T16:50:31Z xkapastel: again, i'm not saying it's impossibly difficult, but you'd need to be familiar with c and make and all that and i'd rather just use something in rust where wasm is a part of the compiler 2018-11-25T16:51:51Z amz3: I'd rather just use scheme 2018-11-25T16:52:14Z amz3: anyway I will dive into chibi, seems like it support r7rs-small 2018-11-25T16:52:35Z xkapastel: just use scheme for what? to implement scheme? 2018-11-25T16:52:40Z amz3: no 2018-11-25T16:52:48Z amz3: to create an application 2018-11-25T16:52:57Z xkapastel: okay, but you need a scheme runtime first 2018-11-25T16:53:06Z xkapastel: it's weird to say just use scheme, there's a reason chibi is using c 2018-11-25T16:55:12Z amz3: in the browser you mean? 2018-11-25T16:56:16Z amz3: I don't understand your last statment 2018-11-25T16:59:57Z massma joined #scheme 2018-11-25T17:03:42Z edw: xkapastel: You can just run your app in chibi if you want. On a UNIX-like machine. Not everything is an iOS or Android app or a single-page web app. 2018-11-25T17:04:06Z edw: amz3: Was that your point? 2018-11-25T17:04:23Z xkapastel: edw: that's a really strange thing to say. clearly i already thought about that and decided to target e.g. android or the web 2018-11-25T17:05:57Z edw: I'm not talking about your plans, but amz3's. You said, "but *you* need a scheme runtime first." 2018-11-25T17:06:50Z edw: And that confused amz3 if I understand him correctly. 2018-11-25T17:06:58Z edw: Or her or whoever. 2018-11-25T17:12:06Z amz3: I misunderstand something, anyway, I am digging this emsdk thing with chibi using git emsdk. Indeed there is bug in the build process, it doesn't find the correct clang 2018-11-25T17:12:54Z skapata joined #scheme 2018-11-25T17:16:25Z grettke joined #scheme 2018-11-25T17:19:17Z xkapastel: edw: i actually think the kite model should be a part of language runtimes 2018-11-25T17:19:38Z xkapastel: as in, imagine if a REPL was always analyzing your code for statistical patterns 2018-11-25T17:19:57Z xkapastel: and not just sitting there accepting input, but also pushing suggestions and visualizations to you 2018-11-25T17:20:19Z xkapastel: kibit is the same idea, but it just uses logic instead of probability theory 2018-11-25T17:20:52Z xkapastel: arguably probability theory is just generalized logic though, so i don't really see the fundamental problem with "google driven development" 2018-11-25T17:21:24Z edw: xkapastel: If the extant code in a programming language is filled with a shit-tonne of boilerplate, it's a sign that it's a poor language or has crappy libraries. 2018-11-25T17:21:38Z xkapastel: okay, let's just imagine kite uses scheme instead of python 2018-11-25T17:21:42Z xkapastel: do you still have a problem with it? 2018-11-25T17:21:43Z webshinra_ is now known as webshinra 2018-11-25T17:22:34Z xkapastel: i ask because i am intending to build something quite like this and i've seen people express sentiments similar to yours before 2018-11-25T17:23:42Z edw: xkapastel: Yes, because if it knows what keyboard pounding you should be doing, it stands to reason there should be a procedure or macro for that. 2018-11-25T17:23:58Z xkapastel: imagine this was the mechanism by which macros were written 2018-11-25T17:24:18Z xkapastel: what if it just did the analysis on stackexchange and just wrote a bunch of macros 2018-11-25T17:24:26Z edw: OK, now we're getting somewhere. 2018-11-25T17:25:05Z edw: And then it becomes kibit but it knows how to create new patterns and the macros/procs to back them up. 2018-11-25T17:28:22Z xkapastel: edw: does this also trigger your sense of doom? https://github.com/webyrd/Barliman 2018-11-25T17:28:36Z xkapastel: another scheme project, maybe you're familiar with it 2018-11-25T17:29:06Z edw: Basically, I think Kite is a tool for making it easier for you to commit DailyWTF-style atrocities, whereas we need a tool that sees that you're writing (display 1) (display 2) (display 3) ... and says, yo, use a loop. 2018-11-25T17:29:52Z edw: First of all, it begins with a quote, which is good hipster programmer style, so my guard is already up. 2018-11-25T17:29:57Z edw: The readme, that is. 2018-11-25T17:35:51Z edw: xkapastel: It seems to depend on unit tests. Or tests of some sort. I'm cooking lunch atm but will try to marshall more disdainful feedback in a few minutes. 2018-11-25T17:36:40Z acarrico quit (Ping timeout: 246 seconds) 2018-11-25T17:36:48Z razzy joined #scheme 2018-11-25T17:37:48Z acarrico joined #scheme 2018-11-25T17:45:10Z rain1: hi guys 2018-11-25T17:46:09Z edw: G'day. 2018-11-25T17:47:34Z Zipheir: o/ 2018-11-25T17:52:24Z amz3: https://screenshots.firefox.com/G7v6S5zNo523DeHu/localhost 2018-11-25T17:52:38Z amz3: chibi can be made to work, there is few things to workaround 2018-11-25T17:52:56Z amz3: both in chibi support of emsdk and in emsdk build system 2018-11-25T17:56:38Z xkapastel: oh snap you did it 2018-11-25T17:56:42Z xkapastel: amz3: great job :) 2018-11-25T17:58:03Z edw: xkapastel: Watching the Barliman video. Writing the patterns (tests) that Barliman uses to synthesize a function require no less intellectual gruntwork than writing the function. 2018-11-25T17:58:24Z edw: s/require/requires/ 2018-11-25T17:58:57Z xkapastel: that's certainly not true in the general case 2018-11-25T17:59:16Z pierpal quit (Quit: Poof) 2018-11-25T17:59:32Z pierpal joined #scheme 2018-11-25T17:59:33Z xkapastel: there is a basic asymmetry between being able to produce a valid answer and being able to determine whether an answer is valid, for most interesting problems 2018-11-25T18:01:38Z xkapastel: maybe barlimann is not good enough to do it without handholding, is the real issue here 2018-11-25T18:01:53Z xkapastel: but there are other approaches, most of them derivatives of google driven development :) 2018-11-25T18:01:57Z edw: In the video, one of the presenters says, "OK, here we're going to use 'map'. How does he know to use `map'? Because he understands the intellectual model of list processing that is presented in SRFI-1 (and Clojure etc.) 2018-11-25T18:02:07Z jcob joined #scheme 2018-11-25T18:02:45Z muelleme joined #scheme 2018-11-25T18:04:43Z xkapastel: just imagine what kite, kibit and barlimann could do if there were actually just one program 2018-11-25T18:04:49Z xkapastel: they* 2018-11-25T18:05:34Z amz3: xkapastel: did you use a prebuilt binary for emsdk ? 2018-11-25T18:05:50Z xkapastel: i never got that far, uncommenting stuff in chibi broke the build 2018-11-25T18:06:00Z xkapastel: i gave up when i realized the instructions were not correct 2018-11-25T18:06:19Z xkapastel: did you write the fix up? 2018-11-25T18:06:35Z edw: I have tutored students and junior programmers in work settings and they will want to use Barliman until they get the desired output. And then they'll move on and they'll understand nothing. There's a place for scripting, but there's a better tool than a general-purpose programming language for what is basically instantiating recipes. 2018-11-25T18:06:53Z xkapastel: edw: i just think you're taking too principled a stand here 2018-11-25T18:07:10Z xkapastel: i don't know why i wouldn't have `barliman-mode` on all the time regardless of anyone's opinion on understanding 2018-11-25T18:07:16Z xkapastel: i don't have to do what it says 2018-11-25T18:07:54Z amz3: I will 2018-11-25T18:08:08Z xkapastel: i'm *already* looking at stackexchange for help, but i don't feel compelled to blindly copy/paste from it 2018-11-25T18:08:08Z muelleme quit (Ping timeout: 272 seconds) 2018-11-25T18:08:12Z xkapastel: it's just another thing to consider 2018-11-25T18:08:25Z wasamasa: I wonder whether this discussion were any different if it was smalltalk, not scheme 2018-11-25T18:08:44Z xkapastel: oh, i saw the pharo talk at lambdaconf 2018-11-25T18:08:57Z xkapastel: yes, smalltalkers would be all over this i feel 2018-11-25T18:09:01Z edw: xkapastel: Commercial reality *is* the dystopia I outlined. It is here. I would google the variable names I found in contractors' code and very often I could find the block of code they copied and pasted from StackOverflow. 2018-11-25T18:09:52Z xkapastel: i don't really care what bad developers do. a good developer would be better with a tool like this 2018-11-25T18:10:37Z xkapastel: (let's just assume for a minute the year is 2030 and it actually works kind of okay) 2018-11-25T18:10:57Z xkapastel: it's probably not good enough to be usable right now, but the idea is great 2018-11-25T18:11:47Z edw: I do care about bad programmers because they make the world worse for good programmers. 2018-11-25T18:12:08Z xkapastel: do they? 2018-11-25T18:12:41Z xkapastel: there's awful things happening in e.g. node.js right now, but i don't feel worried about it 2018-11-25T18:12:53Z ecraven: edw: well, having bad programmers is what actually *makes* others good programmers :D if everyone were good, many of the good ones would then be bad 2018-11-25T18:13:01Z edw: OMG I was just going to mention node. 2018-11-25T18:13:10Z ecraven: xkapastel: what kind of things? do you mean npm or actual node.js? 2018-11-25T18:13:43Z edw: There is the node-typical complete disregard for the size or number of transitive dependencies thing. 2018-11-25T18:14:00Z xkapastel: i'm just picking on javascript. just imagine whatever group of people you want, who might just copy and paste from the stackexchange aI 2018-11-25T18:14:03Z ecraven: yes, left-pad and friends 2018-11-25T18:14:06Z xkapastel: stackexchange AI* 2018-11-25T18:14:07Z edw: There is the node-typical one-line-of-code module thing. 2018-11-25T18:14:29Z edw: There is rhe node-typical poorly-rewrite-existing-tools thing. 2018-11-25T18:14:54Z ecraven: I don't think Scheme is protected from that, many useful Scheme functions are one-liners, that just aren't part of the standard... if we were less spread out, we might create something like npm that provides ready access to those one-liners 2018-11-25T18:15:08Z ecraven: hehe, I rewrite everything I can in Scheme :P 2018-11-25T18:15:13Z Kundry_Wag quit (Ping timeout: 252 seconds) 2018-11-25T18:15:40Z edw: ecraven: I'm not against one-line functions. I'm against one-line SRFI implementations, I guess. 2018-11-25T18:16:20Z Zipheir: Because Node.js is an enormous fad language and everything must be rewritten whenever a new enormous fad language appears. 2018-11-25T18:17:03Z amz3: xkapastel: checkout my branch https://github.com/ashinn/chibi-scheme/pull/498 2018-11-25T18:17:12Z jcowan: edw: Believe me, there are none of those. Some SRFIs define just one macro, but not in one line. 2018-11-25T18:17:36Z edw: jcowan: Exactly. Though RECEIVE... 2018-11-25T18:18:12Z jcowan: xkapastel: If' you are serious about this, file an issue at github/ashinn/chibi-scheme or join the mailing list at chibi-scheme@googlegroups.com. You will get answers, possibly from The Foofster himself. 2018-11-25T18:18:30Z ecraven: edw: my point is, if the *standard* doesn't provide it, something else will (be that srfis, some repository, or whatever) 2018-11-25T18:18:48Z jcowan: Discussing it on a general-purpose Scheme channel isn't going to get you much further, except by accident. 2018-11-25T18:18:51Z xkapastel: amz3: so `make js` builds wasm? 2018-11-25T18:18:56Z xkapastel: jcowan: serious about what? 2018-11-25T18:19:08Z xkapastel: it seems to have gotten pretty far already 2018-11-25T18:19:19Z jcowan: Getting the static build working, having Chibi generate asm.js or wasm, etc. 2018-11-25T18:19:30Z amz3: xkapastel: if you fix the emsdk like explained in the pull requests, yes. with the fixes I added, the demo works like charm. 2018-11-25T18:19:31Z xkapastel: i mean, i wasn't doing anything 2018-11-25T18:19:38Z xkapastel: amz3 just started working on it 2018-11-25T18:19:48Z xkapastel: see, it seems to be done 2018-11-25T18:20:11Z amz3: now, I don't know what you want to achieve 2018-11-25T18:20:18Z amz3: s/now/that said/ 2018-11-25T18:20:36Z xkapastel: generating a `.wasm` file is a good start 2018-11-25T18:21:12Z amz3: https://hastebin.com/adigufegut.scm 2018-11-25T18:22:09Z edw: ecraven: I don't know what you're trying to disagree with. I have seen Node.js code in production that used modules that required more config management cruft than the single-line function implementation. 2018-11-25T18:22:54Z edw: I have met multiple Node.js "full stack engineers" who didn't know what make(1) was. 2018-11-25T18:23:04Z jcowan: Not to mention that node module I read about that contains the complete works of Shakespeare in it. 2018-11-25T18:23:12Z jcowan: (forgot its name, not being a node guy) 2018-11-25T18:23:32Z xkapastel: the nlp compromise stuff? 2018-11-25T18:23:40Z xkapastel: or maybe not that 2018-11-25T18:23:44Z jcowan: But why should they know what make is? Do you know what iamspzp is? 2018-11-25T18:23:46Z xkapastel: i guess they wouldn't do that since they're not statistical 2018-11-25T18:23:54Z jcowan: sorry, imaspzp 2018-11-25T18:24:07Z xkapastel: i don't see what's bad about including data in a module though, it makes it easy to distribute 2018-11-25T18:24:17Z edw: The bad ideas accumulate. The next fad language (hat-tip Zipheir) will have that, and every dumb idea from Ruby/RoR and PHP. 2018-11-25T18:24:40Z xkapastel: what's that website with all the free, old books? i could imagine a module containing most things from that, or in categories, along with an api to query it 2018-11-25T18:24:58Z edw: xkapastel: What is the role of an operating system distribution, then? 2018-11-25T18:25:09Z wasamasa: xkapastel: there is already one containing the top 10000 words of the english language 2018-11-25T18:25:09Z xkapastel: i don't know. maybe there shouldn't be one 2018-11-25T18:25:15Z edw: Is it the node microkernel? 2018-11-25T18:25:17Z xkapastel: wasamasa: yeah that's nlp compromise 2018-11-25T18:25:29Z wasamasa: it's not about nlp though :P 2018-11-25T18:25:36Z xkapastel: well, nlp compromise would do the same thing 2018-11-25T18:25:39Z xkapastel: since you need it do to nlp 2018-11-25T18:25:56Z xkapastel: the author gave a talk like "english as a module" 2018-11-25T18:26:03Z edw: Yes, let's write all software in the language that was designed and implemented in two weeks in response to a press release. 2018-11-25T18:26:06Z jcowan: (Iamspzp is a z/OS (mainframe) tool for patching binaries when the source has been lost. Stands for "I'm a super zap") 2018-11-25T18:26:16Z wasamasa: xkapastel: guess what else you'd need such a list for 2018-11-25T18:26:27Z ecraven: the one point where I do agree with the node people is that JS has become somewhat of a universal language, working in the browser and server-side :-/ 2018-11-25T18:26:36Z xkapastel: wasamasa: i really can't. what else? 2018-11-25T18:26:39Z jcowan: Eh, Lisp is the language that some student decided to implement even though his prof thought it was impossible. 2018-11-25T18:26:43Z wasamasa: xkapastel: checking for weak passwords 2018-11-25T18:26:44Z ecraven: it is useful to be able to run the same code on both ends 2018-11-25T18:26:59Z edw: I'll take that one any day, jcowan. 2018-11-25T18:27:15Z wasamasa: xkapastel: https://github.com/dropbox/zxcvbn 2018-11-25T18:27:46Z wasamasa: not sure whether it's 10000, but emacs agrees that it's way too many as grep slows down to a crawl 2018-11-25T18:29:02Z jcowan: hey hey hey, one vote has come in for Tangerine Edition! 2018-11-25T18:29:11Z xkapastel: https://www.youtube.com/watch?v=WuPVS2tCg8s 2018-11-25T18:29:12Z jcowan: I suppose I should post here 2018-11-25T18:29:14Z xkapastel: this is what i was thinking of 2018-11-25T18:29:33Z jcowan: Tangerine Edition ballot: https://docs.google.com/forms/d/1XQNvIzijmCxHgnaRq31u9MogloG0YWDaWKBs-J9CCTA 2018-11-25T18:29:34Z jcob quit (Ping timeout: 250 seconds) 2018-11-25T18:30:01Z jcowan: Orange Edition straw poll: https://docs.google.com/forms/d/1qn1Ut7tR5bzXyWOrxpbLu5O7rJJ5_m2HhAeG8YqfgGI/ 2018-11-25T18:31:00Z amz3: voting alone requires a lot of knowledge, tx for doing that. 2018-11-25T18:32:54Z edw: jcowan: Have keyword objects been assigned a color? 2018-11-25T18:32:58Z Kundry_Wag joined #scheme 2018-11-25T18:33:13Z amz3: knowledge that I don't have. 2018-11-25T18:33:40Z Riastradh: jcowan: o/` No matter what it is or who commenced it -- I'm against it! o/` 2018-11-25T18:35:17Z Zipheir: And even when you've changed it or condensed it... 2018-11-25T18:35:57Z pierpal quit (Quit: Poof) 2018-11-25T18:36:16Z pierpal joined #scheme 2018-11-25T18:36:53Z amz3: do you know a json library that is compatible with chibi, my search-fu is failing me 2018-11-25T18:36:55Z amz3: ? 2018-11-25T18:38:20Z lambda-11235 quit (Quit: Bye) 2018-11-25T18:38:42Z edw: amz3: There is a pretty good parser combinators module built into chibi... 2018-11-25T18:40:02Z edw: amz3: You just gave me a goal for the day. 2018-11-25T18:40:36Z amz3: oh 2018-11-25T18:42:21Z Riastradh: How about a lalr parser generator? The json grammar is a 15-line lalr cfg, including extra rules for error reporting. 2018-11-25T18:43:00Z Riastradh: Sorry, miscounted, 20-line. 2018-11-25T18:44:53Z Riastradh: (counting from https://github.com/probcomp/Venturecxx/blob/master/python/lib/parser/venture_script/grammar.y, which has json notation embedded in a larger programming language syntax) 2018-11-25T18:45:17Z jcowan chuckles. 2018-11-25T18:46:42Z rain1: should we make a portable LALR parser generator macro 2018-11-25T18:46:48Z Riastradh: yesplz 2018-11-25T18:47:41Z Riastradh: LALR parsers are great and I wish I had learned to appreciate them a decade ago when I had the patience to do something like that. 2018-11-25T18:47:59Z rain1: https://github.com/rain-1/racket-peg/blob/master/tests/test-json.rkt are you sure this isn't good enough? 2018-11-25T18:48:44Z Riastradh: Can you prove it terminates in linear time? 2018-11-25T18:49:01Z Riastradh: Does it report ambiguity to you? 2018-11-25T18:49:05Z rain1: no (it's not even linear time) 2018-11-25T18:49:18Z rain1: given ambiguity it biases towards the first option 2018-11-25T18:49:29Z Riastradh: For LALR parsers the answer to both is yes. 2018-11-25T18:49:38Z rain1: that is pretty nice! 2018-11-25T18:50:43Z Riastradh: Any trouble -- cost of a complicated grammar, ambiguity, &c. -- is reported up front during development; then the parser chomps through the input one token at a time (with one token of lookahead) never backtracking and taking a linear number of chomps. 2018-11-25T18:52:55Z edw: Zarathustra, er, Riastradh, you speak glowingly of this LALR parser. Can you show us one written in Scheme that we might use? 2018-11-25T18:53:26Z edw: There is this: . 2018-11-25T18:53:46Z edw: And this: . 2018-11-25T18:54:08Z jcowan: edw: Anything non-portable is in Green. 2018-11-25T18:54:25Z rain1: so would you always use LALR(1) [on tokenized inpuit]? or would you want a full LALR(k) implementation 2018-11-25T18:54:35Z jcowan: However, keyword-let (which requires keywords to be quoted) will probably be in Yellow. 2018-11-25T18:54:43Z Perkol joined #scheme 2018-11-25T18:55:04Z edw: jcowan: Merci. 2018-11-25T18:56:19Z wasamasa: edw: the latter has quite a number of cond-expands, except for chibi of course 2018-11-25T18:56:24Z rain1: https://github.com/schemeway/lalr-scm/blob/master/lalr.scm wow it runs in many schemes 2018-11-25T18:56:33Z wasamasa: big mystery: why does it even define BITS-PER-WORD 2018-11-25T18:57:42Z edw: From : "much of the code is a direct translation from C to Scheme of the Bison sources." 2018-11-25T18:57:47Z wasamasa: ouch 2018-11-25T18:58:02Z wasamasa: using a vector for integer bit twiddling feels just wrong 2018-11-25T18:59:12Z edw: Linear...with a very large coefficient? 2018-11-25T19:00:01Z rain1: packrat parsers are linear like kN with N input length, k number of production rules 2018-11-25T19:00:35Z klovett joined #scheme 2018-11-25T19:01:22Z klovett_ quit (Ping timeout: 246 seconds) 2018-11-25T19:02:14Z Zipheir: Packrat is an interesting technique. 2018-11-25T19:03:37Z Zipheir: (I just discovered https://wiki.call-cc.org/eggref/4/genturfahi, which _seems_ to be usable for input other than Lojban...) 2018-11-25T19:10:12Z emar quit (Ping timeout: 252 seconds) 2018-11-25T19:15:35Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T19:15:36Z ggole quit (Read error: Connection reset by peer) 2018-11-25T19:20:07Z jcowan: Riastradh: I forgot to save that algorithm you gave me for evenly distributed random floats given random bits. Can you repaste it, or repeat it, or email me at cowan@ccil.org with it? Thanks. 2018-11-25T19:31:41Z Perkol quit (Quit: Leaving) 2018-11-25T19:34:33Z rain1: http://www.rosettacode.org/wiki/Babbage_problem#Scheme I added the solution here 2018-11-25T19:41:17Z grettke joined #scheme 2018-11-25T19:46:07Z pie_ joined #scheme 2018-11-25T19:56:04Z pie_ quit (Remote host closed the connection) 2018-11-25T19:56:23Z pie_ joined #scheme 2018-11-25T19:56:43Z amz3: chibi ftw! 2018-11-25T19:57:47Z edw: amz3: You still need a JSON parser? 2018-11-25T19:58:03Z amz3: yes, why? 2018-11-25T19:58:06Z amz3: you did it? 2018-11-25T19:58:23Z edw: Well the first 95% of one. 2018-11-25T19:58:35Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T20:00:10Z qu1j0t3: jcowan: pretty sure i kept a copy of that, so failing Riastradh, I can probably send a copy 2018-11-25T20:07:20Z grettke joined #scheme 2018-11-25T20:08:42Z edw: amz3: "JSON parsing in Chibi Scheme using combinators": 2018-11-25T20:09:10Z amz3: that was quick :) 2018-11-25T20:09:52Z amz3: thanks a lot! 2018-11-25T20:10:09Z edw: You're welcome. Plesse consult the list of bugs. 2018-11-25T20:10:23Z edw: I'll stick it in a repo and take pull requests. 2018-11-25T20:11:24Z amz3: what do you mean by "hash tables are not constructured"? 2018-11-25T20:11:52Z amz3: you do not use "cons" 2018-11-25T20:12:30Z edw: If you look at the output, I turn hash entries into lists of lists not into SRFI-whatever hash tables -- or alists. Alists prob wouldve been better. I can fix that. 2018-11-25T20:12:58Z amz3: ok that is what I want actually 2018-11-25T20:12:58Z edw: Lemme stick this in a repo so I can hack on it less unstructuredly. 2018-11-25T20:13:14Z amz3: edw: add a license, so that I can credit it properly 2018-11-25T20:13:24Z amz3: I need to go to sleep, tx again! 2018-11-25T20:13:47Z edw: amz3: It'll be in github/thunknyc/chibi-json 2018-11-25T20:14:15Z zmt01 joined #scheme 2018-11-25T20:14:53Z zmt01 quit (Remote host closed the connection) 2018-11-25T20:17:57Z zmt00 quit (Ping timeout: 250 seconds) 2018-11-25T20:21:13Z Inline quit (Read error: Connection reset by peer) 2018-11-25T20:21:55Z Inline joined #scheme 2018-11-25T20:22:26Z Riastradh: edw: I don't know, I haven't done any LALR parsing in Scheme. In C there's yacc and lemon; in Python I've used lemonade. 2018-11-25T20:23:46Z edw: In Clojure I've used Instaparse fairly extensively. And now, Chibi's parser combinators, 2018-11-25T20:24:34Z massma quit (Quit: rcirc on GNU Emacs 25.1.1) 2018-11-25T20:29:31Z rain1: I am writing a parser by hand 2018-11-25T20:29:33Z rain1: it's pretty hard... 2018-11-25T20:29:39Z Riastradh: I fixed a few bugs in lemonade, including forward-porting some bug fixes in lemon from which lemonade was derived; the result is at . 2018-11-25T20:29:44Z rain1: I feel like I'm not doing this the best way, maybe somebody can review my code 2018-11-25T20:35:08Z muelleme joined #scheme 2018-11-25T20:35:42Z hugo quit (Ping timeout: 272 seconds) 2018-11-25T20:36:37Z Riastradh: Writing parsers by hand is usually not the best way. 2018-11-25T20:37:08Z elderK joined #scheme 2018-11-25T20:41:15Z jcob joined #scheme 2018-11-25T20:43:40Z keep_learning_M quit (Quit: This computer has gone to sleep) 2018-11-25T20:43:58Z lambda-11235 joined #scheme 2018-11-25T20:44:14Z hugo joined #scheme 2018-11-25T20:45:32Z ngz joined #scheme 2018-11-25T20:47:46Z elderK quit (Quit: WeeChat 1.9) 2018-11-25T20:48:10Z rain1: http://www.rosettacode.org/wiki/Brace_expansion#Scheme 2018-11-25T20:48:19Z rain1: if you got any ideas to improve iti tell me 2018-11-25T20:48:32Z rain1: or if you can solve this problem in a different way it would be interesting to see 2018-11-25T20:51:30Z dkmuelle1 joined #scheme 2018-11-25T21:00:22Z robotoad joined #scheme 2018-11-25T21:01:21Z edw: rain1: thoughtful use of SRFI-1 would probably compact that code to 10% its current size. 2018-11-25T21:01:58Z edw: The problem is one of {folding,reducing,mapping}. 2018-11-25T21:02:03Z rain1: thanks 2018-11-25T21:02:51Z sethalves quit (Ping timeout: 268 seconds) 2018-11-25T21:03:24Z rain1: wait 2018-11-25T21:03:31Z rain1: 10% the size or subtract 10% of its size? 2018-11-25T21:04:05Z edw: It's just a wild-ass guess but I would say -90% or 10% of original. 2018-11-25T21:04:22Z edw: At least -50%. 2018-11-25T21:04:23Z rain1: wow. i would have to see that to believe it 2018-11-25T21:04:38Z rain1: I know a coulpe of the functions are in srfi-1 but hm... 2018-11-25T21:04:53Z edw: And it would make it readable. Right now it's just a shit-tonne of CARs and CDRs and CONSes. 2018-11-25T21:05:27Z rain1: XD 2018-11-25T21:05:31Z rain1: i tried my best 2018-11-25T21:06:03Z rain1: I really appreciate the criticism and you taking a look though 2018-11-25T21:06:50Z edw: No problem! We all write/wrote code like thst. Does the site eval the code? Because if so SRFI-1 may not be available, but it would still be worth writing simply versions of fold, map, reduce, whatever to make your intent clear. 2018-11-25T21:07:09Z edw: I'd help but I'm writing amz3 a JSON parser at the moment. 2018-11-25T21:08:24Z rain1: the site doesn't eval the code 2018-11-25T21:08:49Z rain1: part of the reason I don't use srfi-1 is https://rain-1.github.io/scheme-srfi-1 2018-11-25T21:09:47Z edw: Again, it's not that hard to write e.g. MAP. 2018-11-25T21:15:34Z edw: I just typed this up. It doesn't support multiple list arguments but it can help communicate intent when you're writing something: . 2018-11-25T21:16:26Z edw: I might write FOLD first and then implement MAP atop it if I were doing this for real. Think like the Primitive Technology Channel. 2018-11-25T21:17:07Z rain1: I love that channel 2018-11-25T21:17:10Z rain1: and that type of programming too 2018-11-25T21:17:47Z edw: Build a ladder of abstractions and then climb up it. 2018-11-25T21:18:31Z edw: Someday he's going to be building a pharmaceutical plant in a video. I think of it as the Bootstrap Civilization Channel. 2018-11-25T21:18:34Z rain1: definitely an actual parser would help a lot 2018-11-25T21:18:47Z sethalves joined #scheme 2018-11-25T21:19:08Z rain1: https://bootstrapping.miraheze.org/wiki/Main_Page there are some projects ongoing to bootstrap various compilers from very small codebases 2018-11-25T21:19:47Z edw: OMG you're tempting me here rain1... You don't need a parser for something this straightforward. I mean, pedantically, you're parsing, but let's not go crazy. 2018-11-25T21:20:02Z rain1: edw: but it would help a lot, right? 2018-11-25T21:20:13Z rain1: I was thinking about using my PEG parser for the {,} stuff 2018-11-25T21:20:27Z edw: Meh I don't think so. It's so freaking simple. 2018-11-25T21:20:38Z edw: That's it. I'm going in! 2018-11-25T21:20:47Z rain1: I cant wait to see what you come up with 2018-11-25T21:21:01Z edw: This may take a bit... 2018-11-25T21:21:14Z rain1: yeah it's a harder problem than I expected 2018-11-25T21:23:06Z gravicappa quit (Remote host closed the connection) 2018-11-25T21:25:20Z edw: rain1: 2018-11-25T21:25:44Z rain1: ok that was incrediblry disappointing XD 2018-11-25T21:26:23Z edw: That was for a purpose but yes I thought it might blow your mind. 2018-11-25T21:46:44Z Kundry_Wag quit (Ping timeout: 250 seconds) 2018-11-25T21:51:30Z muelleme quit (Ping timeout: 250 seconds) 2018-11-25T21:57:05Z klovett_ joined #scheme 2018-11-25T22:00:11Z klovett quit (Ping timeout: 260 seconds) 2018-11-25T22:02:48Z xkapastel: > Primitive Technology Channel 2018-11-25T22:02:51Z xkapastel: TIL 2018-11-25T22:03:00Z wasamasa: it's good 2018-11-25T22:03:12Z edw: TIL? 2018-11-25T22:03:14Z xkapastel: yeah it looked weird at first but i realized this is pretty interesting 2018-11-25T22:03:16Z xkapastel: today i learned 2018-11-25T22:03:21Z edw: Ah. 2018-11-25T22:04:10Z edw: TIL "TIL." 2018-11-25T22:04:12Z xkapastel: plus after climate change causes civilization to collapse this will be very handy 2018-11-25T22:04:24Z edw: ...to have on YouTube. 2018-11-25T22:04:34Z xkapastel: obviously i will back it up! 2018-11-25T22:04:36Z edw: Along with your Bitcoins. 2018-11-25T22:04:49Z xkapastel: hey, we're going to moon buddy 2018-11-25T22:05:31Z edw: Buying opportunity! 2018-11-25T22:05:46Z edw: I buy on the dips, loser! 2018-11-25T22:05:50Z xkapastel: there's a lisp blockchain project btw 2018-11-25T22:05:54Z xkapastel: first one i've seen 2018-11-25T22:06:01Z xkapastel: i imagine it got posted here recently 2018-11-25T22:06:17Z xkapastel: http://oscoin.io/radicle.html 2018-11-25T22:06:59Z xkapastel: at the very least i found out about http://pllab.is.ocha.ac.jp/~asai/Black/ from it 2018-11-25T22:07:00Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-25T22:07:43Z xkapastel: > Black is an extension of Scheme with a reflective construct exec-at-metalevel. It executes its argument at the metalevel where the interpreter that executes user programs is running. 2018-11-25T22:08:20Z edw eyes glaze over. 2018-11-25T22:08:35Z wasamasa: the japanese like their scheme black 2018-11-25T22:10:42Z dkmuelle1 quit (Ping timeout: 272 seconds) 2018-11-25T22:12:15Z pie_ quit (Remote host closed the connection) 2018-11-25T22:12:20Z pie__ joined #scheme 2018-11-25T22:16:20Z pie__ quit (Excess Flood) 2018-11-25T22:17:19Z pie__ joined #scheme 2018-11-25T22:25:01Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-25T22:28:47Z sethalves quit (Ping timeout: 240 seconds) 2018-11-25T22:32:40Z jonaslund quit (Ping timeout: 250 seconds) 2018-11-25T22:47:28Z sethalves joined #scheme 2018-11-25T22:51:33Z lloda` joined #scheme 2018-11-25T22:53:02Z lloda quit (Ping timeout: 250 seconds) 2018-11-25T22:56:12Z ngz quit (Read error: No route to host) 2018-11-25T23:03:10Z Kundry_Wag joined #scheme 2018-11-25T23:04:28Z InverseRhombus joined #scheme 2018-11-25T23:05:04Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-25T23:08:20Z Kundry_Wag quit (Ping timeout: 272 seconds) 2018-11-25T23:19:21Z grettke joined #scheme 2018-11-25T23:22:01Z jonaslund joined #scheme 2018-11-25T23:22:09Z jonaslund quit (Client Quit) 2018-11-25T23:27:19Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-25T23:30:36Z xkapastel: amz3: you didn't run in to anything like this when running `make js` from chibi master? 2018-11-25T23:30:38Z xkapastel: sexp.c:2126:38: error: expected ')' 2018-11-25T23:30:38Z xkapastel: snprintf(numbuf, NUMBUF_LEN, "%" SEXP_PRIdFIXNUM, (long)sexp_unbox_fixnum(obj)); 2018-11-25T23:31:20Z edw: He said he went off to sleep. 2018-11-25T23:31:37Z xkapastel: maybe he'll see it tomorrow 2018-11-25T23:32:18Z edw: Does rudybot have the ability to send a delayed message the next time someone checks in? 2018-11-25T23:32:20Z Riastradh: Hm. 2018-11-25T23:32:39Z Riastradh: include/chibi/sexp.h should #include before the definition of SEXP_PRIdFIXNUM. 2018-11-25T23:32:48Z Riastradh: Not (though doesn't hurt). 2018-11-25T23:33:14Z Riastradh: Not really sure why the gcc/win64/apple conditional there; is standard C. 2018-11-25T23:34:38Z edw: ping 2018-11-25T23:35:17Z muelleme joined #scheme 2018-11-25T23:37:27Z lllll joined #scheme 2018-11-25T23:40:49Z muelleme quit (Ping timeout: 252 seconds) 2018-11-25T23:51:40Z Zipheir: pong 2018-11-25T23:52:14Z edw: Ah, a voice in the wilderness. 2018-11-25T23:56:21Z Zipheir: edw: Apparently your latency is horrid. xD 2018-11-25T23:57:14Z Kundry_Wag joined #scheme 2018-11-25T23:58:40Z lritter quit (Remote host closed the connection) 2018-11-26T00:00:01Z remix2000[m] quit (Remote host closed the connection) 2018-11-26T00:00:02Z proksi[m] quit (Read error: Connection reset by peer) 2018-11-26T00:00:04Z DeeEff quit (Read error: Connection reset by peer) 2018-11-26T00:00:07Z krsiehl[m] quit (Read error: Connection reset by peer) 2018-11-26T00:00:09Z daviid quit (Ping timeout: 252 seconds) 2018-11-26T00:00:11Z Gnuxie[m] quit (Write error: Connection reset by peer) 2018-11-26T00:00:20Z willghatch[m] quit (Write error: Connection reset by peer) 2018-11-26T00:00:23Z mbakke quit (Remote host closed the connection) 2018-11-26T00:00:27Z plll[m] quit (Read error: Connection reset by peer) 2018-11-26T00:00:31Z Seb[m] quit (Read error: Connection reset by peer) 2018-11-26T00:00:32Z ArthurAGleckler[ quit (Remote host closed the connection) 2018-11-26T00:00:35Z spectrumgomas[m] quit (Write error: Connection reset by peer) 2018-11-26T00:00:36Z siraben quit (Write error: Connection reset by peer) 2018-11-26T00:00:37Z test[m] quit (Read error: Connection reset by peer) 2018-11-26T00:07:08Z DeeEff joined #scheme 2018-11-26T00:18:10Z keep_learning joined #scheme 2018-11-26T00:20:21Z pie___ joined #scheme 2018-11-26T00:23:18Z pie__ quit (Ping timeout: 264 seconds) 2018-11-26T00:29:36Z daviid joined #scheme 2018-11-26T00:30:32Z Jackie[m]1 joined #scheme 2018-11-26T00:30:32Z spectrumgomas[m] joined #scheme 2018-11-26T00:30:32Z remix2000[m] joined #scheme 2018-11-26T00:30:32Z proksi[m] joined #scheme 2018-11-26T00:30:32Z mbakke joined #scheme 2018-11-26T00:30:33Z willghatch[m] joined #scheme 2018-11-26T00:30:34Z Gnuxie[m] joined #scheme 2018-11-26T00:30:34Z siraben joined #scheme 2018-11-26T00:30:38Z ArthurAGleckler[ joined #scheme 2018-11-26T00:30:39Z plll[m] joined #scheme 2018-11-26T00:30:41Z Seb[m]1 joined #scheme 2018-11-26T00:30:42Z krsiehl[m] joined #scheme 2018-11-26T00:52:15Z khisanth_ quit (Ping timeout: 268 seconds) 2018-11-26T01:04:31Z khisanth_ joined #scheme 2018-11-26T01:11:48Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T01:15:40Z jcowan joined #scheme 2018-11-26T01:31:09Z Riastradh: xkapastel: FYI, in case you missed it: try changing #include to #include in include/chibi/sexp.h. (Also...the earlier should be . Heh.) 2018-11-26T01:39:32Z permagreen quit (Remote host closed the connection) 2018-11-26T01:40:29Z permagreen joined #scheme 2018-11-26T01:46:32Z emar joined #scheme 2018-11-26T01:57:12Z jao quit (Ping timeout: 252 seconds) 2018-11-26T01:58:35Z jao joined #scheme 2018-11-26T02:16:54Z lllll quit (Quit: Connection closed for inactivity) 2018-11-26T02:17:12Z grettke joined #scheme 2018-11-26T02:38:51Z jcob quit (Read error: Connection reset by peer) 2018-11-26T02:41:24Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T02:44:48Z Kundry_Wag quit (Remote host closed the connection) 2018-11-26T02:56:16Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-26T02:57:14Z zooey quit (Remote host closed the connection) 2018-11-26T02:57:29Z zooey joined #scheme 2018-11-26T03:09:27Z acarrico quit (Ping timeout: 240 seconds) 2018-11-26T03:15:35Z Inline quit (Read error: Connection reset by peer) 2018-11-26T03:16:22Z Inline joined #scheme 2018-11-26T03:23:17Z grettke joined #scheme 2018-11-26T03:23:22Z wigust- joined #scheme 2018-11-26T03:27:22Z wigust quit (Ping timeout: 272 seconds) 2018-11-26T03:31:39Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T03:41:53Z badkins joined #scheme 2018-11-26T03:42:58Z badkins quit (Remote host closed the connection) 2018-11-26T03:46:27Z Zipheir quit (Remote host closed the connection) 2018-11-26T03:50:28Z daviid quit (Ping timeout: 268 seconds) 2018-11-26T04:17:53Z zmt00 joined #scheme 2018-11-26T04:18:20Z zmt00 is now known as zmt01 2018-11-26T04:19:26Z zmt01 is now known as zmt00 2018-11-26T04:38:50Z skapata quit (Remote host closed the connection) 2018-11-26T04:42:13Z pjb quit (Remote host closed the connection) 2018-11-26T04:45:26Z pjb joined #scheme 2018-11-26T04:45:45Z pie___ quit (Remote host closed the connection) 2018-11-26T04:46:10Z pie_ joined #scheme 2018-11-26T04:46:17Z pie__ joined #scheme 2018-11-26T04:47:01Z pie_ quit (Remote host closed the connection) 2018-11-26T05:31:37Z jao quit (Ping timeout: 268 seconds) 2018-11-26T05:44:08Z Inline quit (Quit: Leaving) 2018-11-26T06:39:03Z nikal joined #scheme 2018-11-26T06:46:51Z KingRiver joined #scheme 2018-11-26T06:49:13Z KingRiver quit (Remote host closed the connection) 2018-11-26T06:50:12Z TheGreekOwl quit (Quit: I must go, my planet needs me.) 2018-11-26T07:00:55Z gravicappa joined #scheme 2018-11-26T07:11:18Z siraben left #scheme 2018-11-26T07:13:06Z klovett_ quit (Remote host closed the connection) 2018-11-26T07:17:39Z klovett joined #scheme 2018-11-26T07:21:03Z siraben joined #scheme 2018-11-26T07:23:41Z ecraven: exciting times, voting has begun! 2018-11-26T07:24:00Z ecraven: (or rather — continued) 2018-11-26T07:24:42Z siraben: Voting for what? 2018-11-26T07:24:58Z siraben: I've lost the chat beforehand figuring out why Matrix wasn't connecting :/ 2018-11-26T07:25:22Z ecraven: r7rs-large tangerine edition 2018-11-26T07:25:52Z siraben: I'm drooling 2018-11-26T07:27:08Z lambda-11235 quit (Quit: Bye) 2018-11-26T07:32:15Z klovett quit (Ping timeout: 252 seconds) 2018-11-26T07:33:31Z ArneBab quit (Ping timeout: 250 seconds) 2018-11-26T07:34:38Z ArneBab joined #scheme 2018-11-26T07:34:38Z ArneBab quit (Changing host) 2018-11-26T07:34:38Z ArneBab joined #scheme 2018-11-26T07:36:36Z klovett joined #scheme 2018-11-26T07:40:36Z permagreen quit (Remote host closed the connection) 2018-11-26T07:40:50Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T07:46:06Z klovett joined #scheme 2018-11-26T07:55:33Z webshinra quit (Ping timeout: 252 seconds) 2018-11-26T08:00:11Z webshinra joined #scheme 2018-11-26T08:01:10Z klovett quit (Ping timeout: 246 seconds) 2018-11-26T08:01:31Z xkapastel joined #scheme 2018-11-26T08:06:03Z bor0 joined #scheme 2018-11-26T08:06:35Z klovett joined #scheme 2018-11-26T08:10:47Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T08:11:26Z klovett joined #scheme 2018-11-26T08:12:49Z xkapastel: Riastradh: thank you, that worked. i finally got the thing built 2018-11-26T08:15:56Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T08:18:59Z bor0 quit (Quit: Leaving) 2018-11-26T08:24:13Z elderK joined #scheme 2018-11-26T08:25:31Z klovett joined #scheme 2018-11-26T08:29:46Z lockywolf joined #scheme 2018-11-26T08:29:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-26T08:30:35Z klovett joined #scheme 2018-11-26T08:35:00Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T08:42:30Z lockywolf quit (Ping timeout: 264 seconds) 2018-11-26T08:46:04Z nikal quit (Quit: Konversation terminated!) 2018-11-26T08:49:20Z klovett joined #scheme 2018-11-26T08:50:04Z lockywolf joined #scheme 2018-11-26T08:53:52Z klovett quit (Ping timeout: 268 seconds) 2018-11-26T09:04:18Z buhman quit (Ping timeout: 272 seconds) 2018-11-26T09:05:18Z buhman joined #scheme 2018-11-26T09:10:07Z bug2000 quit (Ping timeout: 240 seconds) 2018-11-26T09:12:10Z bug2000 joined #scheme 2018-11-26T09:16:38Z daviid joined #scheme 2018-11-26T09:17:21Z klovett joined #scheme 2018-11-26T09:17:36Z lockywolf quit (Ping timeout: 272 seconds) 2018-11-26T09:17:38Z weltung_ joined #scheme 2018-11-26T09:18:04Z sz0_ joined #scheme 2018-11-26T09:18:24Z rann_ joined #scheme 2018-11-26T09:18:47Z lockywolf joined #scheme 2018-11-26T09:21:48Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T09:22:28Z lllll joined #scheme 2018-11-26T09:25:12Z sz0 quit (*.net *.split) 2018-11-26T09:25:12Z brendyyn quit (*.net *.split) 2018-11-26T09:25:12Z ventonegro quit (*.net *.split) 2018-11-26T09:25:12Z weltung quit (*.net *.split) 2018-11-26T09:25:12Z kjeldahl quit (*.net *.split) 2018-11-26T09:25:12Z LeoNerd quit (*.net *.split) 2018-11-26T09:25:13Z rann quit (*.net *.split) 2018-11-26T09:25:20Z sz0_ is now known as sz0 2018-11-26T09:26:13Z LeoNerd joined #scheme 2018-11-26T09:27:11Z ventonegro joined #scheme 2018-11-26T09:28:59Z civodul joined #scheme 2018-11-26T09:29:50Z ArneBab quit (Quit: No Ping reply in 180 seconds.) 2018-11-26T09:31:38Z robotoad quit (Quit: robotoad) 2018-11-26T09:32:17Z ArneBab joined #scheme 2018-11-26T09:32:17Z ArneBab quit (Changing host) 2018-11-26T09:32:17Z ArneBab joined #scheme 2018-11-26T09:32:53Z brendyyn joined #scheme 2018-11-26T09:32:56Z kjeldahl joined #scheme 2018-11-26T09:33:55Z lockywolf quit (Ping timeout: 246 seconds) 2018-11-26T09:34:42Z lockywolf joined #scheme 2018-11-26T10:06:24Z saia joined #scheme 2018-11-26T10:11:44Z ng0 joined #scheme 2018-11-26T10:17:07Z lockywolf quit (Ping timeout: 268 seconds) 2018-11-26T10:28:22Z rain1: will it be possible to implement a new module system idea as macros in multiple schemes? and then run the same code in them all 2018-11-26T10:30:17Z ecraven: can you give an example? 2018-11-26T10:46:37Z pjb quit (Remote host closed the connection) 2018-11-26T10:49:54Z pjb joined #scheme 2018-11-26T10:50:38Z saia quit (Ping timeout: 250 seconds) 2018-11-26T10:57:04Z rain1: yeah 2018-11-26T10:58:21Z rain1: https://bpaste.net/show/dd16acce4010 2018-11-26T10:58:30Z rain1: the first items are the module definition 2018-11-26T10:58:34Z rain1: and the rest is just scheme code 2018-11-26T11:01:36Z X-Scale: shouldn't it be (provide (xor)) ? 2018-11-26T11:02:44Z rain1: oh maybe, it's just an idea so far 2018-11-26T11:02:47Z rain1: it can change 2018-11-26T11:06:30Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-26T11:08:20Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-26T11:09:32Z ski quit (Ping timeout: 268 seconds) 2018-11-26T11:09:55Z ski joined #scheme 2018-11-26T11:19:25Z klovett joined #scheme 2018-11-26T11:24:20Z klovett quit (Ping timeout: 268 seconds) 2018-11-26T11:29:01Z klovett joined #scheme 2018-11-26T11:31:36Z Zaab1t joined #scheme 2018-11-26T11:36:56Z saia joined #scheme 2018-11-26T11:37:28Z klovett quit (Ping timeout: 246 seconds) 2018-11-26T11:45:41Z InverseRhombus joined #scheme 2018-11-26T11:52:20Z klovett joined #scheme 2018-11-26T11:55:53Z ecraven: so you want a different set of library / module functions? I don't think r7rs allows this in a portable way 2018-11-26T11:56:46Z klovett quit (Ping timeout: 244 seconds) 2018-11-26T11:57:22Z klovett joined #scheme 2018-11-26T11:59:11Z grettke joined #scheme 2018-11-26T12:00:30Z acarrico joined #scheme 2018-11-26T12:01:27Z klovett quit (Ping timeout: 240 seconds) 2018-11-26T12:02:27Z klovett joined #scheme 2018-11-26T12:06:54Z klovett quit (Ping timeout: 250 seconds) 2018-11-26T12:10:56Z ggole joined #scheme 2018-11-26T12:42:16Z pierpal quit (Quit: Poof) 2018-11-26T12:42:36Z pierpal joined #scheme 2018-11-26T12:57:08Z confusedwanderer joined #scheme 2018-11-26T12:58:17Z Perkol joined #scheme 2018-11-26T13:12:24Z gravicappa quit (Remote host closed the connection) 2018-11-26T13:12:24Z rain1: yeah i wanna make ym own thing 2018-11-26T13:18:44Z jao joined #scheme 2018-11-26T13:23:20Z jao quit (Remote host closed the connection) 2018-11-26T13:25:20Z Perkol quit (Ping timeout: 250 seconds) 2018-11-26T13:26:14Z jao joined #scheme 2018-11-26T13:28:01Z Perkol joined #scheme 2018-11-26T13:30:45Z acarrico quit (Ping timeout: 252 seconds) 2018-11-26T13:41:25Z joast quit (Quit: Leaving.) 2018-11-26T13:42:10Z acarrico joined #scheme 2018-11-26T13:45:13Z saia quit (Ping timeout: 246 seconds) 2018-11-26T13:53:12Z joast joined #scheme 2018-11-26T13:53:19Z Perkol quit (Remote host closed the connection) 2018-11-26T14:04:07Z klovett joined #scheme 2018-11-26T14:15:01Z casmajavi joined #scheme 2018-11-26T14:23:12Z badkins joined #scheme 2018-11-26T14:27:42Z badkins_ joined #scheme 2018-11-26T14:30:46Z badkins quit (Ping timeout: 250 seconds) 2018-11-26T14:33:04Z badkins_ quit (Ping timeout: 264 seconds) 2018-11-26T14:35:24Z muelleme joined #scheme 2018-11-26T14:41:14Z muelleme quit (Ping timeout: 272 seconds) 2018-11-26T14:44:04Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-26T14:49:19Z badkins joined #scheme 2018-11-26T14:51:56Z Inline joined #scheme 2018-11-26T14:51:58Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T15:01:36Z ng0 quit (Remote host closed the connection) 2018-11-26T15:02:11Z ng0 joined #scheme 2018-11-26T15:14:26Z saia joined #scheme 2018-11-26T15:18:52Z grettke joined #scheme 2018-11-26T15:25:30Z ManDay joined #scheme 2018-11-26T15:25:43Z ManDay: Why is that giving an error... (let ([x 2]) (define a 3)) 2018-11-26T15:26:36Z LeoNerd: Standard Scheme doesn't define a use for [ and ] 2018-11-26T15:26:45Z LeoNerd: That tends to be an implementation extension 2018-11-26T15:26:48Z ManDay: Ok, but that's not the problem in this case 2018-11-26T15:27:06Z ManDay: It's complaining about a missing body for the let. Works if I add a dummy expression, but that's ugly 2018-11-26T15:27:23Z ManDay: i.e. (let ((x 2)) (begin (define a 3) 4)) 2018-11-26T15:28:47Z ManDay: Why can't it return whatever (define) returns - it's a silly limitation 2018-11-26T15:29:09Z rain1: define doesn't return anything 2018-11-26T15:29:10Z LeoNerd: `define` doesn't necessarily return anything 2018-11-26T15:29:16Z ManDay: yes, so? 2018-11-26T15:29:24Z ManDay: then have that let not return anything, either 2018-11-26T15:29:25Z rain1: oh i get you 2018-11-26T15:29:37Z rain1: yeah your idea makes more sense than what actually happens 2018-11-26T15:29:48Z confusedwanderer: is define inside let legal? 2018-11-26T15:29:54Z rain1: confusedwanderer: yeah but only at the start 2018-11-26T15:30:01Z confusedwanderer: i see 2018-11-26T15:30:05Z confusedwanderer: thanks :) 2018-11-26T15:30:52Z pjb quit (Remote host closed the connection) 2018-11-26T15:31:20Z ManDay: I'll make that vice a virtue and write (let ((x 2)) (define y 3) (define z 4) 'end-let-defines) 2018-11-26T15:31:26Z ManDay: it's silly, but hey 2018-11-26T15:32:27Z pjb joined #scheme 2018-11-26T15:33:30Z DKordic: ManDay: Would that definitions be local to "let" or non-local? 2018-11-26T15:34:35Z DKordic: s/that/such/ 2018-11-26T15:35:10Z ManDay: DKordic: no, they are global 2018-11-26T15:35:35Z rain1: they are scoped inside the let 2018-11-26T15:35:52Z rain1: are you using an unusual scheme? 2018-11-26T15:36:08Z ManDay: well, no, i'm wrong 2018-11-26T15:36:11Z ManDay: they are local indeed 2018-11-26T15:36:21Z ManDay: so I need to do it with set! 2018-11-26T15:36:24Z rain1: i actually don't know how you would do this 2018-11-26T15:36:27Z rain1: oh yeah with set! 2018-11-26T15:36:38Z rain1: it seems a shame you can't put a let around multiple definitions 2018-11-26T15:36:50Z ManDay: but set! doesn't take the short syntax for lambdas, so it's really ... meh 2018-11-26T15:37:01Z ManDay: yeah, i think so too 2018-11-26T15:37:19Z rain1: I uess we could make a macro thath expands into the set! trick 2018-11-26T15:37:31Z ManDay: hm.... 2018-11-26T15:37:34Z ManDay: good point 2018-11-26T15:37:53Z ManDay: i usually stay as far away from macros as possible, but i suppose it would help in this case 2018-11-26T15:38:12Z robotoad joined #scheme 2018-11-26T15:40:26Z confusedwanderer: macros are friends 2018-11-26T15:40:51Z rain1: :P 2018-11-26T15:42:44Z ManDay: "Who has macros as friends doesn't need enemies" 2018-11-26T15:43:37Z DKordic: FEXPRs then? 2018-11-26T15:55:04Z wilfredh quit (Quit: Connection closed for inactivity) 2018-11-26T15:56:06Z wigust- quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-26T15:59:59Z smazga joined #scheme 2018-11-26T16:02:43Z robotoad quit (Quit: robotoad) 2018-11-26T16:04:35Z dbmikus joined #scheme 2018-11-26T16:05:22Z wilfredh joined #scheme 2018-11-26T16:08:43Z dbmikus quit (Client Quit) 2018-11-26T16:10:19Z dbmikus joined #scheme 2018-11-26T16:11:37Z saia quit (Quit: Leaving...) 2018-11-26T16:15:15Z amz3 joined #scheme 2018-11-26T16:24:51Z confusedwanderer: hahaha 2018-11-26T16:27:44Z skapata joined #scheme 2018-11-26T16:29:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T16:30:49Z robotoad joined #scheme 2018-11-26T16:36:27Z lavaflow quit (Ping timeout: 240 seconds) 2018-11-26T16:37:18Z Zipheir joined #scheme 2018-11-26T16:41:37Z badkins quit (Ping timeout: 246 seconds) 2018-11-26T16:43:19Z grettke joined #scheme 2018-11-26T16:47:42Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-26T16:50:45Z wigust joined #scheme 2018-11-26T16:55:06Z pjb quit (Remote host closed the connection) 2018-11-26T16:56:51Z pjb joined #scheme 2018-11-26T17:01:05Z dbmikus quit (Read error: Connection reset by peer) 2018-11-26T17:01:58Z dbmikus_ joined #scheme 2018-11-26T17:02:31Z webshinra quit (Remote host closed the connection) 2018-11-26T17:03:03Z webshinra joined #scheme 2018-11-26T17:20:17Z jcob joined #scheme 2018-11-26T17:29:27Z elderK quit (Ping timeout: 240 seconds) 2018-11-26T17:36:15Z badkins joined #scheme 2018-11-26T17:38:04Z amz3: ohohoh 2018-11-26T17:41:23Z edw: Yes? 2018-11-26T17:42:58Z dbmikus_ quit (Ping timeout: 245 seconds) 2018-11-26T17:43:03Z ManDay quit (Ping timeout: 256 seconds) 2018-11-26T17:48:22Z amz3: edw: btw I did not use your code, yet. I am tired of todo applications. 2018-11-26T17:49:30Z amz3: I keep ruminating about my git-like datastore, thinking about a possible use case, but failed to find one for the time being. 2018-11-26T17:49:46Z dbmikus_ joined #scheme 2018-11-26T17:49:47Z edw: People still write those?! At least they're no longer writing pet store ecommerce sites. 2018-11-26T17:50:23Z amz3: it is a standard "bench" see http://todomvc.com/ 2018-11-26T18:02:45Z muelleme joined #scheme 2018-11-26T18:07:38Z muelleme quit (Ping timeout: 268 seconds) 2018-11-26T18:07:56Z klovett quit 2018-11-26T18:10:32Z amz3 quit (Quit: WeeChat 1.9.1) 2018-11-26T18:11:59Z amz3 joined #scheme 2018-11-26T18:14:01Z balkamos quit (Ping timeout: 252 seconds) 2018-11-26T18:14:33Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T18:17:00Z edw: amz3: I am aware. Didn't realize there was yet such an ongoing profusion of new frameworks that todo demo app writing continued. 2018-11-26T18:17:41Z edw: It's the Hello, world. of CRUDdy web apps, I suppose. 2018-11-26T18:19:17Z edw: (No claim to that thought being novel; billions have probably previously supposed the same thing.) 2018-11-26T18:23:02Z Zipheir: wth is an 'MV* framework' anyway? 2018-11-26T18:32:43Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-26T18:33:30Z balkamos joined #scheme 2018-11-26T18:36:19Z ng0 joined #scheme 2018-11-26T18:39:05Z jcob quit (Ping timeout: 268 seconds) 2018-11-26T18:41:14Z lavaflow joined #scheme 2018-11-26T18:41:37Z goon12 joined #scheme 2018-11-26T18:42:31Z InverseRhombus joined #scheme 2018-11-26T18:44:32Z jcob joined #scheme 2018-11-26T18:53:57Z klovett joined #scheme 2018-11-26T18:54:03Z Blukunfando joined #scheme 2018-11-26T18:57:57Z alezost joined #scheme 2018-11-26T18:58:07Z Zaab1t quit (Ping timeout: 240 seconds) 2018-11-26T18:58:19Z goon12 quit (Quit: Leaving) 2018-11-26T18:59:40Z Zipheir: Ah, MV == 'model-view' 2018-11-26T19:01:13Z lllll quit (Quit: Connection closed for inactivity) 2018-11-26T19:04:17Z Riastradh: multiple value, Mountain View, multivariate, Menezes-Vanstone, Merovingian 2018-11-26T19:05:13Z gwatt: most valueable 2018-11-26T19:05:19Z gwatt: minimum viable 2018-11-26T19:05:40Z Zipheir: What a slurry of 'clever' names the world of Web development is. "I'm using Drooble to make SQL requests via Passionfruit.js to serve Fungacious-based apps on Wungehub." You can autogenerate these sentences. 2018-11-26T19:06:00Z gwatt: I think someone has 2018-11-26T19:07:45Z edw: The proper framework for the development of most web sites is either Squarespace or Shopify. There should be an approximately 99% decrease in the number of development teams out there. 2018-11-26T19:08:48Z qu1j0t3: well, sort of, but having worked on a shopify site a little, it's such a limited platform that any moderate customisation is still going to require an experienced dev 2018-11-26T19:09:05Z qu1j0t3: this is also true of say Wordpress. and they're also kind of nightmarish to customise anyhow. 2018-11-26T19:09:18Z Riastradh: Do they do https yet? 2018-11-26T19:10:05Z edw: qu1j0t3: I don't know what a "dev" is, aside from a term that helps people who only know HTML, CSS, and "item.slideDown()" to get laid by claiming to be one on the subway. 2018-11-26T19:10:26Z Zipheir: Heh 2018-11-26T19:10:40Z edw: Because PHP, qu1j0t3. 2018-11-26T19:10:54Z qu1j0t3: yes, that hasn't done Wordpress any favours. 2018-11-26T19:11:45Z qu1j0t3: (and in shopify's case, JS) 2018-11-26T19:12:49Z edw: PHP is a great example for a convo from the other day: PHP is SSI (server-side includes) on a lethal dose of steroids. What was basically safe and innocuous became a vector for a million SQL injection attacks and the creation of the mob that would migrate from PHP to Rails to Node.js. 2018-11-26T19:13:36Z Zipheir: PHP used strlen() as a hash function. No more need be said. 2018-11-26T19:14:13Z zachk joined #scheme 2018-11-26T19:14:51Z edw: Also didn't help that they sort of had King George III thrust upon them as BDFL. 2018-11-26T19:15:29Z zachk quit (Changing host) 2018-11-26T19:15:29Z zachk joined #scheme 2018-11-26T19:15:42Z qu1j0t3: Zipheir: :) 2018-11-26T19:16:06Z edw: Zipheir: Perhaps a corollary to your comment. Or vice versa. 2018-11-26T19:20:32Z Zipheir: edw: Did PHP have a colony that it taxed heavily to pay for its overly-aggressive foreign policy and subsequently lost? 2018-11-26T19:21:26Z dkmuelle1 joined #scheme 2018-11-26T19:21:44Z dkmuelle1 quit (Client Quit) 2018-11-26T19:22:07Z dkmuelle1 joined #scheme 2018-11-26T19:25:38Z dkmueller quit (Disconnected by services) 2018-11-26T19:25:46Z jcowan: it wasn't the weight of the taxes, it's how they were imposed 2018-11-26T19:26:00Z dkmuelle1 quit (Client Quit) 2018-11-26T19:26:09Z jcowan: The Declaratory Act 1766 was scary, especially since it closely tracked a similar Declaratory Act for Ireland 2018-11-26T19:26:18Z dkmueller joined #scheme 2018-11-26T19:27:40Z ggole quit (Quit: ggole) 2018-11-26T19:29:11Z edw: Zipheir: Sounds about right. 2018-11-26T19:29:23Z dkmueller quit (Client Quit) 2018-11-26T19:29:44Z dkmueller joined #scheme 2018-11-26T19:29:46Z dkmueller quit (Client Quit) 2018-11-26T19:30:34Z Zipheir: jcowan: The 1766 Act was copied 'almost word for word' from the Irish Declaratory Act, per Wikipedia. TIL, thanks. 2018-11-26T19:30:41Z jcowan: yes 2018-11-26T19:38:50Z Zaab1t joined #scheme 2018-11-26T19:44:05Z civodul joined #scheme 2018-11-26T19:53:07Z jcob quit (Ping timeout: 240 seconds) 2018-11-26T19:59:26Z alezost quit (Remote host closed the connection) 2018-11-26T20:00:04Z pierpal quit (Read error: Connection reset by peer) 2018-11-26T20:00:15Z pierpal joined #scheme 2018-11-26T20:00:42Z alezost joined #scheme 2018-11-26T20:03:33Z robotoad quit (Read error: Connection reset by peer) 2018-11-26T20:05:46Z robotoad joined #scheme 2018-11-26T20:15:25Z edw: rain1: Your BRACKET-EXPAND returns too many values, if I interpret the problem correctly. It returns emptines as an option even in cases such as {blah,blorg}. 2018-11-26T20:15:39Z rain1: oh no 2018-11-26T20:15:53Z edw: At least if your comments are correct. 2018-11-26T20:16:43Z rain1: > (bracket-expand "{blah,blorg}") 2018-11-26T20:16:44Z edw: The sample should only return actual English words, but Ited, Ite, etc. are not, Scrabble dictionaries possibly notwithstanding. 2018-11-26T20:16:45Z rain1: '("blah" "blorg") 2018-11-26T20:16:59Z edw: What about the sample code? 2018-11-26T20:17:15Z rain1: it does return "Ited" "Ite", so that's wrong 2018-11-26T20:18:03Z edw: Wish I were wrong but glad I didn't erroneously call out an error... 2018-11-26T20:18:15Z rain1: > (bracket-expand "{{foo}blah,blorg}") 2018-11-26T20:18:17Z rain1: '("" "foo" "blah" "blorg") 2018-11-26T20:18:25Z rain1: this is the first place it goes wrong 2018-11-26T20:18:34Z rain1: thanks for telling me about this! 2018-11-26T20:18:40Z edw: This is a hairy problem! 2018-11-26T20:18:52Z rain1: that should give the same result as {fooblah,blorg} 2018-11-26T20:19:15Z rain1: > (parse-brackets "{{foo}blah,blorg}") 2018-11-26T20:19:17Z rain1: '("" ("" ("foo") "blah" "blorg") "") 2018-11-26T20:19:19Z rain1: the parse tree is correct 2018-11-26T20:19:24Z rain1: so the problem is in expansion 2018-11-26T20:22:54Z edw: Here's mine: 2018-11-26T20:23:28Z rain1: how is that the entire thing? it's 1/3 the size of the code I wrote 2018-11-26T20:24:02Z rain1: that's awesome 2018-11-26T20:24:03Z edw: FOLD, FOLD-RIGHT, MAP, etc. 2018-11-26T20:24:13Z edw: I told ya! 2018-11-26T20:25:54Z edw: Per conversations yesterday, I wrote a few of the procedures and then realized I could rephrase them as instances of FOLD. A tool that could say, Yo, dude, you're re-writing half of a buggy FOLD there, I would much prefer that over a Barliman-style tool. 2018-11-26T20:26:23Z qu1j0t3: :) 2018-11-26T20:26:58Z pierpal quit (Quit: Poof) 2018-11-26T20:27:16Z pierpal joined #scheme 2018-11-26T20:28:40Z rain1: oh i get what i did wrong 2018-11-26T20:28:41Z edw: rain1: Also note MAPPEND, which I wrote once I realized I was re-implementing FOLD as I was trying to get rid of CONCATENATE invocations. Build a ladder and climb up it. 2018-11-26T20:28:41Z Zipheir: edw: That tool would just be a random Lisp hacker who you could pay in coffee/pizza. 2018-11-26T20:28:46Z rain1: there's no way to decide between choices and appends 2018-11-26T20:29:38Z edw imagines paying #scheme to be my peanut gallery and second-guess every line of code I write. 2018-11-26T20:31:01Z rain1: huh 2018-11-26T20:31:25Z rain1: so i gues sthe convention your code takes is that each layer of the AST denotes: append, choice, append, choice, ... 2018-11-26T20:32:47Z rain1: edw you should overwrite my solution with yours http://www.rosettacode.org/wiki/Brace_expansion#Scheme 2018-11-26T20:32:58Z edw: I had to think very hard about that. It wasn't until I started drawing boxes and lines on a piece of paper this morning that I figured out how to fix my code. (I'm sitting in the 30th St Station Pret A Manager after hacking away at this all during my train ride from NY.) 2018-11-26T20:33:11Z rain1: haha 2018-11-26T20:33:13Z rain1: i hope you had fun! 2018-11-26T20:34:09Z edw: It really made my brain itch. On a related note, I wrote a UNIX-macroexpansion-on-crack library for Clojure using Instaparse. I've been down this road before. 2018-11-26T20:34:38Z edw: You fix up yours and put it up there. 2018-11-26T20:35:41Z edw: Adtech macros: 2018-11-26T20:36:12Z edw: Later. I need a USB cable. 2018-11-26T20:36:35Z rain1: bye! thanks agani! 2018-11-26T20:42:13Z InverseRhombus quit (Ping timeout: 244 seconds) 2018-11-26T20:43:23Z qu1j0t3: Prêt-a-Manager 2018-11-26T20:43:30Z qu1j0t3 doesn't feel ready 2018-11-26T20:50:37Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-26T20:51:03Z elderK joined #scheme 2018-11-26T20:51:54Z Riastradh: https://paste.asie.pl/Fa4a 2018-11-26T20:53:16Z keep_learning quit (Remote host closed the connection) 2018-11-26T20:56:36Z niklasl quit (Ping timeout: 268 seconds) 2018-11-26T20:56:56Z grettke joined #scheme 2018-11-26T20:58:19Z Riastradh: rain1: ^ That's what it looks like if you use a LALR parser like lemon(ade). All the combination logic is contained in six lines. Who's gonna write the Scheme macros to make that work in Scheme? 2018-11-26T21:00:18Z niklasl joined #scheme 2018-11-26T21:00:36Z Riastradh: Obviously, there's some overhead to that, so in a very simple case like this maybe it's not worthwhile, but it doesn't take much more complexity for a hand-written parser to get out of hand, so to speak. 2018-11-26T21:09:17Z xkapastel joined #scheme 2018-11-26T21:09:25Z edw: rain1: A counterpoint to Riastradh: Even if you use a parser generator, you may very well end up with an AST that you'll need to interpret. Half of my code (and perhaps yours) is dealing with the parsed tree. 2018-11-26T21:09:41Z Riastradh: No parsed tree here at all. 2018-11-26T21:09:49Z Riastradh: Computation all happens in the parser actions. 2018-11-26T21:09:50Z Riastradh: Six lines. 2018-11-26T21:10:06Z edw: Ah, there's a paste up there. 2018-11-26T21:10:08Z Riastradh: (Five, if you discount the line break for a longish function name.) 2018-11-26T21:11:08Z Riastradh: LALR parser generator does not imply parse tree. It just implies (a) a tidy structure for your logic and (b) you get feedback at development time, not run time, about ambiguity and complexity. 2018-11-26T21:11:09Z edw: Riastradh: Pardon, but that is a lot longer than six lines. 2018-11-26T21:11:30Z Riastradh: edw: Yes -- all the combination logic is contained within six lines. 2018-11-26T21:11:53Z Riastradh: Like I said, there's overhead, so in a simple case like this maybe it's not worthwhile. 2018-11-26T21:12:03Z Riastradh: But I don't think expanding braces was rain1's goal in life. 2018-11-26T21:12:41Z Riastradh: I forgot to add (c) guaranteed completion of parsing in linear time. 2018-11-26T21:13:19Z edw: Yes but the Dragon book tortures you with some hand-writing of things before it unleashes Lex and Yacc. 2018-11-26T21:13:42Z edw: Because depending on the calculator to do basic arithmetic is no way to live. 2018-11-26T21:14:38Z Riastradh: Quick, what's sinh(0.001)? (No calculator!) 2018-11-26T21:14:40Z edw: If you example the record, I never suggested writing a parser for a non-toy language by hand. 2018-11-26T21:15:33Z edw: You're being an ass. A troubling number of people (nerds even) can't tell you what 7 x 8 is. 2018-11-26T21:15:47Z edw: s/example/examine/ 2018-11-26T21:17:08Z edw: And someone should be able to tell you than sin(deg(5)) is "pretty small." 2018-11-26T21:17:13Z rain1: im writing v2.... 2018-11-26T21:17:24Z rain1: i got an infiinte loop 2018-11-26T21:17:24Z confusedwanderer quit (Read error: Connection reset by peer) 2018-11-26T21:26:18Z Riastradh: rain1: Shift-reduce parsers never go into infinite loops! 2018-11-26T21:27:01Z rain1: https://bpaste.net/show/10d17122d7ba 2018-11-26T21:27:04Z Riastradh: (I never read any of the dragon books; I self-imposed torture all by myself.) 2018-11-26T21:27:06Z rain1: im glad its over 2018-11-26T21:27:22Z rain1: how much freaking code those 3 lines turn into 2018-11-26T21:43:40Z debsan quit (Ping timeout: 272 seconds) 2018-11-26T21:45:56Z rain1: https://bpaste.net/show/55ade006d48d theres a version using my peg parser 2018-11-26T21:54:56Z lritter joined #scheme 2018-11-26T21:58:16Z badkins quit (Ping timeout: 268 seconds) 2018-11-26T22:11:24Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-26T22:24:28Z Riastradh: rain1: But your peg parser is missing the combination steps! 2018-11-26T22:26:06Z rain1: yeah the whole result creation part is pretty nasty 2018-11-26T22:40:10Z Zaab1t quit (Quit: bye bye friends) 2018-11-26T22:42:15Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-26T22:43:50Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-26T22:44:46Z jcowan: 4 votes on the Tangerine ballot, 3 on the Orange straw poll. We'll see what happens. 2018-11-26T22:45:15Z Riastradh: Sounds like the Tangerine ballot wins! 2018-11-26T22:45:46Z jcowan: Only so far. But yes, I epxect more votes on that since it's definitive. 2018-11-26T22:48:40Z Inline quit (Ping timeout: 264 seconds) 2018-11-26T22:48:43Z debsan joined #scheme 2018-11-26T22:48:43Z debsan quit (Changing host) 2018-11-26T22:48:43Z debsan joined #scheme 2018-11-26T22:50:45Z Inline joined #scheme 2018-11-26T22:52:43Z Inline quit (Read error: Connection reset by peer) 2018-11-26T22:53:08Z Inline joined #scheme 2018-11-26T22:53:52Z daviid quit (Ping timeout: 250 seconds) 2018-11-26T22:55:05Z grettke joined #scheme 2018-11-26T22:57:08Z sz0 quit (Quit: Connection closed for inactivity) 2018-11-26T22:57:25Z badkins joined #scheme 2018-11-26T23:14:41Z skapata quit (Remote host closed the connection) 2018-11-26T23:48:35Z keep_learning joined #scheme 2018-11-26T23:50:47Z dbmikus_ quit (Ping timeout: 240 seconds) 2018-11-26T23:51:38Z keep_learning quit (Remote host closed the connection) 2018-11-26T23:51:39Z mejja joined #scheme 2018-11-26T23:53:58Z Riastradh: mejja: What'd I break this time? 2018-11-26T23:55:55Z mejja: I have a feature request: (random-bytevector! bv) 2018-11-27T00:00:06Z klovett quit 2018-11-27T00:01:52Z klovett joined #scheme 2018-11-27T00:07:47Z robotoad quit (Quit: robotoad) 2018-11-27T00:09:28Z smazga quit (Quit: leaving) 2018-11-27T00:18:23Z daviid joined #scheme 2018-11-27T00:19:06Z keep_learning joined #scheme 2018-11-27T00:19:13Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T00:20:04Z pjb: Riastradh: 0.001. Everybody knows that sin(x)=x for small x. 2018-11-27T00:21:24Z daviid quit (Read error: Connection reset by peer) 2018-11-27T00:25:23Z InverseRhombus joined #scheme 2018-11-27T00:26:23Z daviid joined #scheme 2018-11-27T00:26:25Z Riastradh: Not that it changes the answer much, but I said sinh, not sin. 2018-11-27T00:26:47Z daviid is now known as Guest24182 2018-11-27T00:27:06Z Guest24182 is now known as daviid 2018-11-27T00:28:00Z pjb: Oh, sorry. It's late. 2018-11-27T00:42:56Z robotoad joined #scheme 2018-11-27T00:51:43Z jcob joined #scheme 2018-11-27T01:00:22Z klovett quit 2018-11-27T01:03:15Z grettke joined #scheme 2018-11-27T01:11:43Z edw: pjb: In Riastradh's world hyperbolic sine is basic arithmetic. 2018-11-27T01:12:04Z edw: jcowan: Who's entitled to vote? 2018-11-27T01:13:01Z edw: pjb: In my world sine is something a self-described programmer should be able to tell me a bit about. 2018-11-27T01:14:23Z jcowan: mejja: You can use the SRFI 158 vector-accumulator! and one of the generators from the forthcoming random generators SRFI. 2018-11-27T01:15:40Z jcowan: edw: Anyone with an interest in Scheme. If you haven't voted in any Scheme election before (back to the last Steering Committee election but one), send an email explaining your interest in Scheme to the scheme-reports-wg2@googlegroups.com 2018-11-27T01:16:25Z pjb: There's not a lot of difference between sin and sinh: (e^x-e^-x)/2 vs. (e^ix-e^-ix)/2i 2018-11-27T01:18:47Z jcowan: Using symbol-macros is probably the Right Thing in that case 2018-11-27T01:18:50Z edw: I believe I sent an email or responded to a questionaire back during the early days of R7RS voting. Or perhaps R6RS--I was pretty steamed about the prospect of case sensitivity by default. 2018-11-27T01:19:04Z jcowan: No problem, then 2018-11-27T01:19:42Z edw: I mean, I have opinions about case folding, I was born to be a Schemer! 2018-11-27T01:26:37Z lritter quit (Ping timeout: 268 seconds) 2018-11-27T01:26:53Z Riastradh: edw: I said sinh! 2018-11-27T01:27:16Z lritter joined #scheme 2018-11-27T01:27:24Z Riastradh: Oh, you did say hyperbolic sine, never mind. 2018-11-27T01:51:43Z lockywolf joined #scheme 2018-11-27T01:54:26Z [X-Scale] joined #scheme 2018-11-27T01:55:41Z X-Scale quit (Ping timeout: 268 seconds) 2018-11-27T01:55:56Z [X-Scale] is now known as X-Scale 2018-11-27T02:05:50Z daviid quit (Ping timeout: 250 seconds) 2018-11-27T02:05:59Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-27T02:10:28Z zachk quit (Quit: Leaving) 2018-11-27T02:17:47Z permagreen joined #scheme 2018-11-27T02:26:03Z daviid joined #scheme 2018-11-27T02:28:19Z Riastradh: mejja: You have random-bytevector! now. 2018-11-27T02:29:19Z zbigniew joined #scheme 2018-11-27T02:31:02Z mejja: I think you can skip start & end. 2018-11-27T02:32:21Z Riastradh: Too late. 2018-11-27T02:48:59Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T03:02:10Z dbmikus_ joined #scheme 2018-11-27T03:07:45Z dbmikus_ quit (Ping timeout: 268 seconds) 2018-11-27T03:22:29Z mejja quit (Remote host closed the connection) 2018-11-27T03:42:27Z jcob quit (Remote host closed the connection) 2018-11-27T03:47:33Z jcob joined #scheme 2018-11-27T04:04:33Z skapata joined #scheme 2018-11-27T04:06:55Z reverse_light quit (Ping timeout: 246 seconds) 2018-11-27T04:07:43Z reverse_light joined #scheme 2018-11-27T04:10:44Z daviid quit (Ping timeout: 268 seconds) 2018-11-27T04:24:50Z lritter quit (Ping timeout: 268 seconds) 2018-11-27T04:31:25Z `micro quit (Ping timeout: 246 seconds) 2018-11-27T04:32:07Z `micro joined #scheme 2018-11-27T04:33:20Z lockywolf_ joined #scheme 2018-11-27T04:35:19Z lockywolf quit (Ping timeout: 268 seconds) 2018-11-27T04:56:55Z wigust- joined #scheme 2018-11-27T05:00:48Z wigust quit (Ping timeout: 252 seconds) 2018-11-27T05:32:03Z lockywolf_ quit (Ping timeout: 268 seconds) 2018-11-27T05:38:05Z Inline quit (Quit: Leaving) 2018-11-27T05:54:01Z pjb` joined #scheme 2018-11-27T05:55:16Z pjb quit (Ping timeout: 252 seconds) 2018-11-27T06:06:52Z grettke joined #scheme 2018-11-27T06:13:22Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T06:20:39Z sleffy joined #scheme 2018-11-27T06:20:51Z sleffy quit (Remote host closed the connection) 2018-11-27T06:21:24Z lockywolf joined #scheme 2018-11-27T06:26:16Z jcob quit (Ping timeout: 250 seconds) 2018-11-27T06:41:00Z jao quit (Ping timeout: 250 seconds) 2018-11-27T06:51:50Z razzy quit (Ping timeout: 250 seconds) 2018-11-27T07:02:26Z robotoad quit (Quit: robotoad) 2018-11-27T07:03:25Z robotoad joined #scheme 2018-11-27T07:04:21Z robotoad quit (Client Quit) 2018-11-27T07:15:58Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-27T07:37:24Z pierpal quit (Quit: Poof) 2018-11-27T07:37:41Z pierpal joined #scheme 2018-11-27T07:40:35Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-27T07:44:16Z lockywolf quit (Remote host closed the connection) 2018-11-27T07:50:27Z amz3 quit (Ping timeout: 240 seconds) 2018-11-27T07:55:08Z gravicappa joined #scheme 2018-11-27T07:59:04Z Zaab1t joined #scheme 2018-11-27T08:05:18Z civodul joined #scheme 2018-11-27T08:14:19Z pie__ quit (Ping timeout: 268 seconds) 2018-11-27T08:23:54Z eagleflo quit (Ping timeout: 252 seconds) 2018-11-27T08:24:37Z eagleflo joined #scheme 2018-11-27T08:40:33Z razzy joined #scheme 2018-11-27T09:23:23Z sudden quit (Ping timeout: 245 seconds) 2018-11-27T09:30:52Z sudden joined #scheme 2018-11-27T09:30:52Z sudden quit (Changing host) 2018-11-27T09:30:52Z sudden joined #scheme 2018-11-27T09:43:51Z sudden quit (Ping timeout: 246 seconds) 2018-11-27T10:04:36Z ng0 joined #scheme 2018-11-27T10:13:20Z Zaabtop joined #scheme 2018-11-27T10:14:29Z Zaab1t quit (Ping timeout: 268 seconds) 2018-11-27T10:14:29Z Zaabtop is now known as Zaab1t 2018-11-27T10:19:25Z Zaab1t quit (Ping timeout: 268 seconds) 2018-11-27T10:31:31Z pjb` quit (Remote host closed the connection) 2018-11-27T10:34:45Z pjb` joined #scheme 2018-11-27T10:39:04Z pjb` quit (Ping timeout: 252 seconds) 2018-11-27T10:44:53Z pjb` joined #scheme 2018-11-27T10:51:42Z pjb` quit (Ping timeout: 252 seconds) 2018-11-27T11:06:01Z DKordic is now known as Heretic 2018-11-27T11:06:47Z gnomon quit (Ping timeout: 240 seconds) 2018-11-27T11:14:09Z pjb` joined #scheme 2018-11-27T11:18:21Z Zaab1t joined #scheme 2018-11-27T11:18:30Z pjb` quit (Remote host closed the connection) 2018-11-27T11:20:36Z pjb` joined #scheme 2018-11-27T11:25:15Z pjb` quit (Ping timeout: 252 seconds) 2018-11-27T11:26:37Z zooey quit (Ping timeout: 256 seconds) 2018-11-27T11:27:25Z zooey joined #scheme 2018-11-27T11:50:48Z confusedwanderer joined #scheme 2018-11-27T11:57:32Z pjb` joined #scheme 2018-11-27T11:58:36Z skapata quit (Remote host closed the connection) 2018-11-27T11:59:51Z jcowan joined #scheme 2018-11-27T12:05:30Z pjb` quit (Ping timeout: 252 seconds) 2018-11-27T12:31:00Z InverseRhombus quit (Remote host closed the connection) 2018-11-27T12:31:32Z sudden joined #scheme 2018-11-27T12:31:32Z sudden quit (Changing host) 2018-11-27T12:31:32Z sudden joined #scheme 2018-11-27T12:40:26Z Zaab1t quit (Quit: bye bye friends) 2018-11-27T12:43:09Z xkapastel joined #scheme 2018-11-27T13:10:45Z InverseRhombus joined #scheme 2018-11-27T13:17:02Z sudden quit (Quit: leaving) 2018-11-27T13:22:03Z jao joined #scheme 2018-11-27T13:30:55Z sudden joined #scheme 2018-11-27T13:34:03Z ggole joined #scheme 2018-11-27T13:37:03Z gravicappa quit (Remote host closed the connection) 2018-11-27T13:46:37Z badkins quit (Ping timeout: 268 seconds) 2018-11-27T13:49:32Z badkins joined #scheme 2018-11-27T13:50:45Z kjeldahl quit (*.net *.split) 2018-11-27T13:51:43Z keep_learning quit (Remote host closed the connection) 2018-11-27T13:55:57Z badkins quit (Ping timeout: 268 seconds) 2018-11-27T14:00:45Z astronavt joined #scheme 2018-11-27T14:01:27Z astronavt quit (Client Quit) 2018-11-27T14:03:12Z badkins joined #scheme 2018-11-27T14:04:36Z jao quit (Ping timeout: 246 seconds) 2018-11-27T14:18:22Z badkins quit (Ping timeout: 246 seconds) 2018-11-27T14:19:22Z badkins joined #scheme 2018-11-27T14:27:53Z grettke joined #scheme 2018-11-27T14:29:00Z badkins quit (Ping timeout: 250 seconds) 2018-11-27T14:30:19Z lloda` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-27T14:30:36Z lloda joined #scheme 2018-11-27T14:30:45Z badkins joined #scheme 2018-11-27T14:34:06Z ravndal joined #scheme 2018-11-27T14:35:25Z badkins quit (Ping timeout: 268 seconds) 2018-11-27T14:35:37Z badkins joined #scheme 2018-11-27T14:37:10Z casmajavi left #scheme 2018-11-27T14:40:51Z casmajavi joined #scheme 2018-11-27T14:41:30Z Zaab1t joined #scheme 2018-11-27T14:41:34Z ravndal quit (Ping timeout: 250 seconds) 2018-11-27T14:41:45Z badkins_ joined #scheme 2018-11-27T14:42:00Z badkins quit (Ping timeout: 250 seconds) 2018-11-27T14:43:54Z ravndal joined #scheme 2018-11-27T14:51:51Z ravndal quit (Ping timeout: 246 seconds) 2018-11-27T14:55:42Z badkins joined #scheme 2018-11-27T14:56:45Z Inline joined #scheme 2018-11-27T14:57:32Z badkins_ quit (Ping timeout: 268 seconds) 2018-11-27T14:59:02Z muelleme joined #scheme 2018-11-27T15:01:19Z lritter joined #scheme 2018-11-27T15:03:01Z razzy` joined #scheme 2018-11-27T15:04:27Z razzy quit (Ping timeout: 246 seconds) 2018-11-27T15:08:07Z dkmueller joined #scheme 2018-11-27T15:13:01Z razzy` quit (Remote host closed the connection) 2018-11-27T15:13:18Z razzy` joined #scheme 2018-11-27T15:13:21Z razzy` quit (Remote host closed the connection) 2018-11-27T15:13:43Z razzy` joined #scheme 2018-11-27T15:13:44Z razzy` quit (Remote host closed the connection) 2018-11-27T15:13:58Z razzy` joined #scheme 2018-11-27T15:14:34Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T15:18:12Z badkins_ joined #scheme 2018-11-27T15:20:48Z badkins quit (Ping timeout: 244 seconds) 2018-11-27T15:25:31Z marvin2 joined #scheme 2018-11-27T15:27:45Z dbmikus_ joined #scheme 2018-11-27T15:39:11Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-27T15:39:19Z robotoad joined #scheme 2018-11-27T15:41:38Z dbmikus__ joined #scheme 2018-11-27T15:41:56Z dbmikus_ quit (Ping timeout: 268 seconds) 2018-11-27T15:47:30Z elderK quit (Ping timeout: 246 seconds) 2018-11-27T15:48:52Z grettke joined #scheme 2018-11-27T15:51:08Z astronavt joined #scheme 2018-11-27T15:52:27Z TheGreekOwl joined #scheme 2018-11-27T16:02:59Z razzy` quit (Ping timeout: 268 seconds) 2018-11-27T16:18:06Z lllll joined #scheme 2018-11-27T16:18:18Z ManDay joined #scheme 2018-11-27T16:18:37Z ManDay: Is there a "map" which works on pairs? 2018-11-27T16:19:11Z rain1: you mean like apply a 2-ary function to a list of pairs? 2018-11-27T16:19:31Z ManDay: no, a 1-ary function mapping one pair into another 2018-11-27T16:19:47Z ManDay: well, or rather an n-ary function mapping n pairs into a pair 2018-11-27T16:19:47Z rain1: i don't understand that, can you show example input and outpu? 2018-11-27T16:20:14Z ManDay: well, like map, but instead of lists it takes lists with two elements or rather, pairs 2018-11-27T16:21:10Z razzy` joined #scheme 2018-11-27T16:21:20Z ManDay: (pairs.map (lambda elements #f) pair1 pair2 ...) -> (#f . #f) 2018-11-27T16:21:47Z ManDay: or just 2018-11-27T16:22:02Z ManDay: (p1 . p2) -> ( (f p1) . (f p2) ) 2018-11-27T16:22:23Z ManDay: (it won't break my neck if there is no such thing, just wondering) 2018-11-27T16:23:11Z rain1: oh i get it, but yeah it doesn't exist 2018-11-27T16:23:18Z ManDay: ok, thanks ^^ 2018-11-27T16:23:32Z razzy` quit (Client Quit) 2018-11-27T16:23:57Z smazga joined #scheme 2018-11-27T16:24:08Z ManDay: i may be doing something semantically silly... 2018-11-27T16:24:23Z razzy joined #scheme 2018-11-27T16:25:39Z ManDay: Say I have a list of "sets" `my-set-list` and I have a pair of "elements" `my-el-pair`. Now I want to obtain (in a recursion) an associated pair of sets containing the respective elements... 2018-11-27T16:25:55Z ManDay: No matter how I flip it, the code is inelegant 2018-11-27T16:26:20Z rain1: can you show the code? 2018-11-27T16:26:47Z ManDay: sure, let me just fix you up the least-ugly version and extract it from its surroundings 2018-11-27T16:27:29Z edgar-rft quit (Quit: Leaving) 2018-11-27T16:30:06Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-27T16:35:45Z robotoad quit (Quit: robotoad) 2018-11-27T16:40:57Z dkmueller quit (Quit: Lost terminal) 2018-11-27T16:42:48Z ManDay: Sorry, took a while 2018-11-27T16:43:09Z ManDay: what the heck, I only realized that memq etc. return #f instead of the empty list when the element is not found... 2018-11-27T16:43:21Z ManDay: how incredibly inconsistent 2018-11-27T16:43:41Z robotoad joined #scheme 2018-11-27T16:45:11Z ManDay: I'm actually not sure this could have been done *more* ugly... https://ideone.com/1nK4U2 2018-11-27T16:45:22Z ManDay: But as I said, that's my problem with that 2018-11-27T16:46:34Z ManDay: i suppose semantically, the "search list" is not a pair but an arbitrary amoung of sought elements and thus a list, so I should use that. but then I'd have to do some map over list indices, which would be even more horrible 2018-11-27T16:46:44Z ManDay: (compared to a map over (list car cdr)) 2018-11-27T16:47:35Z lllll: is memory allocated with chez foreign-alloc gc'ed? 2018-11-27T16:48:09Z edw: ManDay: So this, basically? (map (lambda (pair) (let ((first (car pair)) (rest ((cdr pair)))) E1 E2 ...)) LIST-OF-PAIRS) 2018-11-27T16:49:28Z ManDay: edw: nah, that's not the semantics of (map), nvm that question though. it only comes from that ugly code problem in the first place 2018-11-27T16:49:38Z rain1: ManDay: wait does memq break convention with assoc? 2018-11-27T16:51:04Z ManDay: rain1: no 2018-11-27T16:51:43Z ManDay: i guess it's just convenience, so one can check (if (assoc/memq ...) ...) but it's still annoyingly inconsistent 2018-11-27T16:52:22Z ManDay: oh well, I'm a fool for my question 2018-11-27T16:52:36Z ManDay: that's indeed best done with a list, and then (map ... targets targets') 2018-11-27T16:52:41Z ManDay facepalms 2018-11-27T16:53:17Z marvin2 quit (Ping timeout: 244 seconds) 2018-11-27T16:53:27Z qu1j0t3: :) 2018-11-27T16:53:36Z qu1j0t3 loves happy endings 2018-11-27T16:54:05Z ManDay: qu1j0t3: it's just a chapter, i will have more silly questions in notime ^^ 2018-11-27T16:54:27Z qu1j0t3: :) 2018-11-27T16:54:46Z jao joined #scheme 2018-11-27T16:54:57Z Zaab1t quit (Quit: bye bye friends) 2018-11-27T16:54:58Z edw: ManDay: There may be an idiom that expresses what you're looking for involving COND or CASE or DO. 2018-11-27T16:56:18Z ManDay: edw: I don't understand what you mean. 2018-11-27T16:56:40Z ManDay: (or rather, what would that idiom be) 2018-11-27T16:58:08Z rain1: I think that you could make the code easier to read by defining well named auxilliary functions that do basic things 2018-11-27T16:58:20Z rain1: even just synonyms of existing functions 2018-11-27T17:01:18Z ManDay: I need to maintain some kind of job security 2018-11-27T17:03:47Z dbmikus__ quit (Ping timeout: 240 seconds) 2018-11-27T17:05:08Z edw: ManDay: I didn't know what particular part of your paste you were referencing. 2018-11-27T17:05:34Z ManDay: oh nvm edw, it's all good with a list and map now 2018-11-27T17:05:44Z edw: Ah. 2018-11-27T17:10:54Z Inline quit (Read error: Connection reset by peer) 2018-11-27T17:11:37Z Inline joined #scheme 2018-11-27T17:11:57Z ggole quit (Quit: ggole) 2018-11-27T17:12:35Z Inline quit (Read error: Connection reset by peer) 2018-11-27T17:13:15Z Inline joined #scheme 2018-11-27T17:13:27Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-27T17:17:51Z ManDay: i wish (or) and (and) could be applied :-( 2018-11-27T17:20:28Z Inline quit (Ping timeout: 264 seconds) 2018-11-27T17:21:08Z xkapastel: why are they special forms? 2018-11-27T17:21:22Z gwatt: xkapastel: for short circuiting 2018-11-27T17:21:27Z edw: xkapastel: Because short citcuiting. 2018-11-27T17:21:36Z gwatt: if they were normal functions all arguments would be evaluated first 2018-11-27T17:21:42Z LeoNerd: It would be nice to have non-shortcircuiting versions that can be `apply`ed 2018-11-27T17:21:46Z xkapastel: oh, okay. i just implemented them in a fexpr lisp and didn't need to do anything like that 2018-11-27T17:22:38Z gwatt: There is for-all and exists 2018-11-27T17:23:26Z ManDay: LeoNerd: Or a short circuiting version which works like applied 2018-11-27T17:24:08Z Inline joined #scheme 2018-11-27T17:24:29Z skapata joined #scheme 2018-11-27T17:27:40Z Zaab1t joined #scheme 2018-11-27T17:29:27Z dbmikus__ joined #scheme 2018-11-27T17:40:03Z jcob joined #scheme 2018-11-27T17:43:41Z jcowan joined #scheme 2018-11-27T17:48:58Z marvin2 joined #scheme 2018-11-27T17:50:58Z InverseRhombus quit (Remote host closed the connection) 2018-11-27T17:55:09Z pjb joined #scheme 2018-11-27T18:00:34Z pierpal quit (Quit: Poof) 2018-11-27T18:00:51Z pierpal joined #scheme 2018-11-27T18:03:39Z jcob quit (Ping timeout: 246 seconds) 2018-11-27T18:10:43Z hook54321 quit (Quit: Connection closed for inactivity) 2018-11-27T18:13:06Z astronavt quit (Ping timeout: 246 seconds) 2018-11-27T18:13:35Z klovett joined #scheme 2018-11-27T18:28:09Z [X-Scale] joined #scheme 2018-11-27T18:28:52Z X-Scale quit (Ping timeout: 244 seconds) 2018-11-27T18:29:25Z [X-Scale] is now known as X-Scale 2018-11-27T18:30:52Z amz3 joined #scheme 2018-11-27T18:36:00Z siiky joined #scheme 2018-11-27T18:50:51Z khisanth_ quit (Ping timeout: 252 seconds) 2018-11-27T18:53:52Z ArthurAGleckler[ quit (Remote host closed the connection) 2018-11-27T18:53:59Z spectrumgomas[m] quit (Read error: Connection reset by peer) 2018-11-27T18:54:00Z Jackie[m]1 quit (Read error: Connection reset by peer) 2018-11-27T18:54:05Z willghatch[m] quit (Remote host closed the connection) 2018-11-27T18:54:06Z remix2000[m] quit (Read error: Connection reset by peer) 2018-11-27T18:54:07Z Gnuxie[m] quit (Read error: Connection reset by peer) 2018-11-27T18:54:10Z Seb[m]1 quit (Remote host closed the connection) 2018-11-27T18:54:12Z proksi[m] quit (Remote host closed the connection) 2018-11-27T18:54:16Z krsiehl[m] quit (Remote host closed the connection) 2018-11-27T18:54:18Z siraben quit (Remote host closed the connection) 2018-11-27T18:54:18Z plll[m] quit (Remote host closed the connection) 2018-11-27T18:54:18Z mbakke quit (Remote host closed the connection) 2018-11-27T18:54:18Z DeeEff quit (Remote host closed the connection) 2018-11-27T19:02:36Z bug2000 quit (Remote host closed the connection) 2018-11-27T19:03:52Z khisanth_ joined #scheme 2018-11-27T19:10:54Z DeeEff joined #scheme 2018-11-27T19:13:18Z razzy quit (Ping timeout: 246 seconds) 2018-11-27T19:30:32Z amz3: BOB2019 seems nice https://groups.google.com/forum/#!topic/comp.lang.scheme/K5if63CoVlU 2018-11-27T19:31:31Z mbakke joined #scheme 2018-11-27T19:31:31Z Jackie[m]1 joined #scheme 2018-11-27T19:31:32Z spectrumgomas[m] joined #scheme 2018-11-27T19:31:33Z proksi[m] joined #scheme 2018-11-27T19:31:33Z remix2000[m] joined #scheme 2018-11-27T19:31:33Z willghatch[m] joined #scheme 2018-11-27T19:31:33Z Gnuxie[m] joined #scheme 2018-11-27T19:31:35Z siraben joined #scheme 2018-11-27T19:31:38Z ArthurAGleckler[ joined #scheme 2018-11-27T19:31:38Z plll[m] joined #scheme 2018-11-27T19:31:41Z krsiehl[m] joined #scheme 2018-11-27T19:31:42Z Seb[m]1 joined #scheme 2018-11-27T19:40:10Z muelleme quit (Ping timeout: 244 seconds) 2018-11-27T19:41:55Z muelleme joined #scheme 2018-11-27T19:43:51Z hook54321 joined #scheme 2018-11-27T19:44:44Z edw: To the best of anyone's knowledge is there a SRFI (or Chibi module) that exists at the same conceptual level as curl(1)? 2018-11-27T19:47:43Z edw: Also: anyone know the current status us chibi-snow as well as Snow2? I'm tempted to build a load-libraries-from-a-library-to-URL-mapping tool. 2018-11-27T19:53:28Z kjeldahl joined #scheme 2018-11-27T19:56:33Z willghatch[m] quit (Remote host closed the connection) 2018-11-27T19:56:37Z Seb[m]1 quit (Remote host closed the connection) 2018-11-27T19:56:38Z proksi[m] quit (Read error: Connection reset by peer) 2018-11-27T19:56:41Z remix2000[m] quit (Remote host closed the connection) 2018-11-27T19:56:41Z Jackie[m]1 quit (Remote host closed the connection) 2018-11-27T19:56:44Z DeeEff quit (Remote host closed the connection) 2018-11-27T19:56:45Z Gnuxie[m] quit (Remote host closed the connection) 2018-11-27T19:56:46Z mbakke quit (Write error: Connection reset by peer) 2018-11-27T19:56:48Z plll[m] quit (Remote host closed the connection) 2018-11-27T19:56:51Z spectrumgomas[m] quit (Remote host closed the connection) 2018-11-27T19:56:52Z siraben quit (Read error: Connection reset by peer) 2018-11-27T19:56:53Z ArthurAGleckler[ quit (Read error: Connection reset by peer) 2018-11-27T19:56:54Z krsiehl[m] quit (Read error: Connection reset by peer) 2018-11-27T20:02:19Z DeeEff joined #scheme 2018-11-27T20:02:21Z ManDay quit (Ping timeout: 256 seconds) 2018-11-27T20:03:21Z Zaab1t quit (Ping timeout: 246 seconds) 2018-11-27T20:08:28Z amz3: I saw a http-client librari in chibi, idk how good or bad it is 2018-11-27T20:14:45Z zachk joined #scheme 2018-11-27T20:15:41Z zachk quit (Changing host) 2018-11-27T20:15:41Z zachk joined #scheme 2018-11-27T20:21:39Z Jackie[m]1 joined #scheme 2018-11-27T20:21:39Z mbakke joined #scheme 2018-11-27T20:21:39Z spectrumgomas[m] joined #scheme 2018-11-27T20:21:39Z remix2000[m] joined #scheme 2018-11-27T20:21:43Z Gnuxie[m] joined #scheme 2018-11-27T20:21:43Z proksi[m] joined #scheme 2018-11-27T20:21:43Z willghatch[m] joined #scheme 2018-11-27T20:21:44Z siraben joined #scheme 2018-11-27T20:21:45Z ArthurAGleckler[ joined #scheme 2018-11-27T20:21:46Z plll[m] joined #scheme 2018-11-27T20:21:50Z Seb[m] joined #scheme 2018-11-27T20:21:50Z krsiehl[m] joined #scheme 2018-11-27T20:25:08Z siiky quit (Quit: leaving) 2018-11-27T20:26:04Z muelleme quit (Ping timeout: 250 seconds) 2018-11-27T20:26:55Z Zipheir quit (Remote host closed the connection) 2018-11-27T20:27:43Z Zipheir joined #scheme 2018-11-27T20:28:18Z confusedwanderer quit (Remote host closed the connection) 2018-11-27T20:30:10Z razzy joined #scheme 2018-11-27T20:31:18Z jcob joined #scheme 2018-11-27T20:34:55Z alezost joined #scheme 2018-11-27T20:38:06Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T20:39:30Z dbmikus__ quit (Ping timeout: 250 seconds) 2018-11-27T20:39:59Z dbmikus joined #scheme 2018-11-27T20:49:48Z amerigo joined #scheme 2018-11-27T20:50:15Z muelleme joined #scheme 2018-11-27T20:50:59Z amerigo: can you define your own macros of the type #() '() `()? 2018-11-27T20:54:05Z amz3: reader macros? 2018-11-27T20:54:37Z amz3: there is a type of macro for #foobar in some schemes 2018-11-27T20:57:20Z pie__ joined #scheme 2018-11-27T20:57:50Z rain1: > (let ((quote -)) '4) 2018-11-27T20:57:52Z rain1: $1 = -4 2018-11-27T20:57:59Z rain1: maybe you can just make quote a macro that does something else :P 2018-11-27T20:58:05Z rain1: i think this is probably a bad idea though 2018-11-27T21:00:27Z amerigo: if #(1 2 3) is (vector 1 2 3), somehing of the like ^(1 2 3) to be (custom-data 1 2 3) 2018-11-27T21:07:10Z amz3: amerigo: clojure does this sort of this I think, but schemes I know use a # prefix to implement custom literals 2018-11-27T21:10:17Z amz3: amerigo: that said, guile has guile-reader https://www.nongnu.org/guile-reader/ there is also an srfi for that I think, I don't recall the name tho 2018-11-27T21:11:46Z wasamasa: why does it have an optional dependency on lightning ._. 2018-11-27T21:12:08Z amz3: for instance, guile reader implement [spam ,(foobar) egg] that is transformed into (quote ("spam " ("foobar") " egg")) mind spacing. 2018-11-27T21:12:55Z amz3: that is called the skribe syntax 2018-11-27T21:17:38Z jcob quit (Ping timeout: 250 seconds) 2018-11-27T21:18:11Z jcowan: Changeable lexical syntax has never been part of any Scheme standard, partly because it imposes phasing problems: a run-time operation can't reliably change the way things are read. 2018-11-27T21:18:54Z wasamasa: yeah, CHICKEN requires you to use compiler flags to do this properly 2018-11-27T21:19:39Z jcowan: SRFI 10, which is the nearest thing with some degree of portability, has similar problems. 2018-11-27T21:23:38Z gnomon joined #scheme 2018-11-27T21:27:13Z grettke joined #scheme 2018-11-27T21:30:47Z ngz joined #scheme 2018-11-27T21:32:40Z Zipheir: At least in R5RS it's an error to mutate literals, so your ^(1 2 3) wouldn't be exactly the same as (custom-data 1 2 3) anyway. 2018-11-27T21:34:40Z jcowan: In all other standards as well, and some impls enforce this. 2018-11-27T21:37:33Z qu1j0t3 looks jcowan straight in the eye and mutates a literal 2018-11-27T21:38:13Z Zipheir: Better than literally mutating. 2018-11-27T21:38:38Z qu1j0t3 keeps options open 2018-11-27T21:41:27Z muelleme quit (Ping timeout: 240 seconds) 2018-11-27T21:44:20Z emar quit (Quit: WeeChat 2.3) 2018-11-27T21:46:29Z cozachk joined #scheme 2018-11-27T21:46:55Z emar joined #scheme 2018-11-27T21:47:16Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-27T21:48:30Z zachk quit (Ping timeout: 252 seconds) 2018-11-27T21:59:27Z daviid joined #scheme 2018-11-27T21:59:56Z grettke joined #scheme 2018-11-27T22:03:35Z alezost quit (Quit: I live in GuixSD and Emacs ) 2018-11-27T22:18:29Z InverseRhombus joined #scheme 2018-11-27T22:18:43Z InverseRhombus quit (Max SendQ exceeded) 2018-11-27T22:19:07Z InverseRhombus joined #scheme 2018-11-27T22:29:59Z cozachk quit (Quit: Leaving) 2018-11-27T22:34:09Z zachk joined #scheme 2018-11-27T22:40:48Z zachk quit (Changing host) 2018-11-27T22:40:48Z zachk joined #scheme 2018-11-27T22:48:59Z pie_ joined #scheme 2018-11-27T22:49:07Z pie__ quit (Remote host closed the connection) 2018-11-27T22:54:13Z InverseRhombus quit (Remote host closed the connection) 2018-11-27T23:17:28Z dbmikus_ joined #scheme 2018-11-27T23:18:06Z dbmikus quit (Ping timeout: 250 seconds) 2018-11-27T23:27:23Z flyingkiwi joined #scheme 2018-11-27T23:27:31Z flyingkiwi quit (Remote host closed the connection) 2018-11-27T23:38:42Z dbmikus_ quit (Ping timeout: 268 seconds) 2018-11-27T23:49:30Z zachk quit (Read error: Connection reset by peer) 2018-11-27T23:49:58Z zachk joined #scheme 2018-11-27T23:50:32Z zachk quit (Changing host) 2018-11-27T23:50:32Z zachk joined #scheme 2018-11-27T23:51:39Z keep_learning joined #scheme 2018-11-27T23:56:10Z Boniche0 joined #scheme 2018-11-27T23:56:32Z Boniche0 quit (Remote host closed the connection) 2018-11-28T00:01:14Z robotoad quit (Quit: robotoad) 2018-11-28T00:07:46Z smazga quit (Quit: leaving) 2018-11-28T00:07:56Z amerigo quit (Ping timeout: 250 seconds) 2018-11-28T00:10:18Z ngz quit (Ping timeout: 252 seconds) 2018-11-28T00:47:32Z dbmikus_ joined #scheme 2018-11-28T00:49:58Z niklasl quit (Ping timeout: 250 seconds) 2018-11-28T00:53:08Z pie__ joined #scheme 2018-11-28T00:53:36Z pie_ quit (Remote host closed the connection) 2018-11-28T01:01:41Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-28T01:03:13Z dbmikus_ quit (Quit: WeeChat 2.3) 2018-11-28T01:12:30Z lritter quit (Ping timeout: 250 seconds) 2018-11-28T01:22:13Z elderK joined #scheme 2018-11-28T01:30:42Z daviid quit (Ping timeout: 250 seconds) 2018-11-28T01:38:48Z klovett quit 2018-11-28T01:46:06Z grettke joined #scheme 2018-11-28T01:47:46Z edw: amz3: thanks for the tip. 2018-11-28T01:48:44Z edw: amz3: Since writig I assumed I'd be using SYSTEM to invoke curl(1). Or employing FFI to talk to libcurl. 2018-11-28T01:54:29Z daviid joined #scheme 2018-11-28T02:01:32Z zachk quit (Quit: Leaving) 2018-11-28T02:19:35Z robotoad joined #scheme 2018-11-28T02:20:37Z robotoad_ joined #scheme 2018-11-28T02:22:39Z pie__ quit (Ping timeout: 268 seconds) 2018-11-28T02:24:09Z robotoad quit (Ping timeout: 246 seconds) 2018-11-28T02:27:47Z lllll quit (Quit: Connection closed for inactivity) 2018-11-28T02:36:58Z klovett joined #scheme 2018-11-28T02:54:07Z marusich joined #scheme 2018-11-28T02:57:52Z robotoad_ quit (Quit: robotoad_) 2018-11-28T02:59:16Z daviid quit (Ping timeout: 272 seconds) 2018-11-28T03:02:58Z acarrico quit (Ping timeout: 245 seconds) 2018-11-28T03:09:59Z Zipheir quit (Remote host closed the connection) 2018-11-28T03:13:56Z Zipheir joined #scheme 2018-11-28T03:23:57Z niklasl joined #scheme 2018-11-28T03:27:33Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-28T03:32:21Z Menche_ joined #scheme 2018-11-28T03:33:00Z Menche quit (Quit: ZNC 1.7.1 - https://znc.in) 2018-11-28T03:37:25Z Menche joined #scheme 2018-11-28T03:37:27Z robotoad joined #scheme 2018-11-28T03:37:40Z Menche_ quit (Remote host closed the connection) 2018-11-28T03:51:27Z marusich quit (Ping timeout: 268 seconds) 2018-11-28T03:52:10Z hook54321 quit (Quit: Connection closed for inactivity) 2018-11-28T03:54:52Z skapata quit (Remote host closed the connection) 2018-11-28T04:03:14Z niklasl quit (Ping timeout: 250 seconds) 2018-11-28T04:29:09Z hook54321 joined #scheme 2018-11-28T04:33:47Z marusich joined #scheme 2018-11-28T04:34:01Z niklasl joined #scheme 2018-11-28T04:41:24Z marusich quit (Ping timeout: 268 seconds) 2018-11-28T05:31:07Z klovett quit (Read error: Connection reset by peer) 2018-11-28T05:34:38Z klovett joined #scheme 2018-11-28T05:36:25Z XTL quit (Ping timeout: 246 seconds) 2018-11-28T05:36:28Z pflanze quit (Ping timeout: 252 seconds) 2018-11-28T05:38:15Z XTL joined #scheme 2018-11-28T05:42:31Z pflanze joined #scheme 2018-11-28T05:43:17Z klovett_ joined #scheme 2018-11-28T05:44:00Z klovett quit (Ping timeout: 246 seconds) 2018-11-28T05:46:55Z h11 joined #scheme 2018-11-28T05:50:59Z Inline quit (Quit: Leaving) 2018-11-28T05:52:31Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-28T05:56:39Z h11 quit (Quit: Ping timeout (120 seconds)) 2018-11-28T05:57:10Z h11 joined #scheme 2018-11-28T06:07:29Z grettke joined #scheme 2018-11-28T06:21:06Z jao quit (Ping timeout: 246 seconds) 2018-11-28T06:31:06Z wigust joined #scheme 2018-11-28T06:31:18Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-28T06:31:29Z drewc quit (Ping timeout: 250 seconds) 2018-11-28T06:34:15Z wigust- quit (Ping timeout: 268 seconds) 2018-11-28T06:42:32Z klovett_ quit (Remote host closed the connection) 2018-11-28T06:46:29Z klovett joined #scheme 2018-11-28T06:48:10Z drewc joined #scheme 2018-11-28T06:50:47Z klovett quit (Ping timeout: 240 seconds) 2018-11-28T06:53:10Z klovett joined #scheme 2018-11-28T07:00:02Z TheGreekOwl quit (Read error: Connection reset by peer) 2018-11-28T07:01:46Z klovett quit (Ping timeout: 250 seconds) 2018-11-28T07:11:38Z klovett joined #scheme 2018-11-28T07:18:14Z amz3 quit (Ping timeout: 250 seconds) 2018-11-28T07:21:44Z edgar-rft joined #scheme 2018-11-28T07:22:21Z klovett quit (Ping timeout: 268 seconds) 2018-11-28T07:33:30Z klovett joined #scheme 2018-11-28T07:59:19Z gravicappa joined #scheme 2018-11-28T08:09:06Z ManDay joined #scheme 2018-11-28T08:17:44Z daviid joined #scheme 2018-11-28T08:30:15Z r0kc4t joined #scheme 2018-11-28T08:30:39Z razzy quit (Remote host closed the connection) 2018-11-28T08:30:52Z razzy joined #scheme 2018-11-28T08:32:46Z klovett quit (Ping timeout: 250 seconds) 2018-11-28T08:35:48Z dmiles quit (Ping timeout: 250 seconds) 2018-11-28T08:36:49Z klovett joined #scheme 2018-11-28T08:41:19Z klovett_ joined #scheme 2018-11-28T08:44:59Z klovett quit (Ping timeout: 268 seconds) 2018-11-28T08:46:39Z ManDay: I still have that lingering feeling that my implemention of pair-map is unnecessarily complicated... 2018-11-28T08:46:43Z ManDay: (define (pair-map f p . r) (let ([result (apply map f (list (car p) (cdr p)) (map (lambda (e) (list (car e) (cdr e))) r))]) (cons (car result) (cadr result)))) 2018-11-28T08:53:11Z ManDay: Ok this is probably shorter: (define (pair-map f p . r) (cons (apply f (car p) (map car r)) (apply f (cdr p) (map cdr r)))) 2018-11-28T08:53:37Z ManDay: (shorter it is, probably better) 2018-11-28T08:54:39Z civodul joined #scheme 2018-11-28T08:55:12Z razzy quit (Remote host closed the connection) 2018-11-28T08:55:29Z razzy joined #scheme 2018-11-28T08:59:32Z dmiles joined #scheme 2018-11-28T09:02:20Z dkmueller joined #scheme 2018-11-28T09:02:39Z ManDay quit (Ping timeout: 256 seconds) 2018-11-28T09:04:58Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-28T09:10:16Z gravicappa quit (Ping timeout: 246 seconds) 2018-11-28T09:14:50Z robotoad quit (Quit: robotoad) 2018-11-28T09:37:51Z TheGreekOwl joined #scheme 2018-11-28T10:32:54Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-28T10:32:55Z klovett joined #scheme 2018-11-28T10:51:02Z klovett_ joined #scheme 2018-11-28T10:52:18Z klovett quit (Ping timeout: 250 seconds) 2018-11-28T11:02:11Z badkins joined #scheme 2018-11-28T11:02:42Z badkins_ quit (Ping timeout: 250 seconds) 2018-11-28T11:05:28Z rain1 quit (Ping timeout: 245 seconds) 2018-11-28T11:06:10Z InverseRhombus joined #scheme 2018-11-28T11:10:53Z ManDay joined #scheme 2018-11-28T11:11:03Z ManDay: Ah, good ol' ISP 2018-11-28T11:11:16Z ManDay: So that was like ... 3 hours? Anyone respond? 2018-11-28T11:12:27Z z0d: no 2018-11-28T11:12:33Z ManDay: ty 2018-11-28T11:12:33Z z0d: I guess it's still too early 2018-11-28T11:12:48Z ManDay: yup, this is an east-coast channel apparently 2018-11-28T11:13:06Z ManDay: no realm for us europeans 2018-11-28T11:23:01Z pierpal quit (Quit: Poof) 2018-11-28T11:23:21Z pierpal joined #scheme 2018-11-28T11:28:59Z nikal joined #scheme 2018-11-28T11:30:20Z InverseRhombus quit (Remote host closed the connection) 2018-11-28T11:43:47Z xkapastel joined #scheme 2018-11-28T12:02:51Z ManDay quit (Ping timeout: 256 seconds) 2018-11-28T12:08:49Z ManDay joined #scheme 2018-11-28T12:08:53Z ManDay: I'm not happy with this 2018-11-28T12:08:55Z edw: To answer my own question re: Chibi: (chibi net http) contains an HTTP client. 2018-11-28T12:09:19Z edw: ManDay: What are you using that proc for? I have never had the need for `pair-fold.' 2018-11-28T12:10:07Z edw: Er, fold on the brain. `Pair-map.' 2018-11-28T12:11:28Z ManDay: edw: a pair represents a range or an edge in a graph. e.g. the edge: given an iterator over all edges in a graph, i build an iterator which only iterates over spanning trees. therefore, i need to maintain a list of nodes for each connected tree and check whether an edge will connect to trees or create a loop in one 2018-11-28T12:11:40Z ManDay: here is the code (just so you have an idea where the pair-fold comes in): 2018-11-28T12:14:27Z ManDay: https://ideone.com/datokZ - the pair-map in there *could* semantically be a normal map and the pair would be a list, as far as the "search" operation (search the corresponding sets in a list of sets which contain the elements) is concerned 2018-11-28T12:15:05Z ManDay: but then I end up using (cadr) instead of (cdr) everywhere, and I don't like that either, since the objects are naturally pairs (an edge has two end points) 2018-11-28T12:16:32Z InverseRhombus joined #scheme 2018-11-28T12:16:43Z InverseRhombus quit (Max SendQ exceeded) 2018-11-28T12:17:06Z InverseRhombus joined #scheme 2018-11-28T12:17:37Z ManDay: (the example is really stupid, since the "graph" in this case is just a chain of nodes, so don't try to make any sense of the surrounding code) 2018-11-28T12:24:41Z edw settles in at secure, undisclosed café 2018-11-28T12:24:54Z edw: Thanks, ManDay. Look at it now. 2018-11-28T12:26:10Z edw: Dumb question, perhaps: Why not use a vector, and VECTOR-MAP? 2018-11-28T12:26:53Z edw: A pair is "just" a special vector. 2018-11-28T12:26:55Z ManDay: edw: I suppose... 2018-11-28T12:27:16Z ManDay: I just like to use the conceptually simplest structure that is fitting 2018-11-28T12:27:31Z ManDay: and that seems to be a pair for a semantic tuple of necessarily TWO values 2018-11-28T12:27:50Z ManDay: i mean a vector doesn't have any advantage over a list in that sense 2018-11-28T12:28:47Z edw: Oh, hold on. 2018-11-28T12:31:49Z edw: (define (pair-map f ps) (cons (apply f (map car ps))(apply f (map cdr ps)))) 2018-11-28T12:31:49Z edw: 2018-11-28T12:32:01Z edw: That's simpler. 2018-11-28T12:32:23Z edw: Missing a dot and a space before `ps'. 2018-11-28T12:32:43Z ManDay: meh 2018-11-28T12:33:05Z edw: What's your problem with your code then? 2018-11-28T12:33:40Z ManDay: if it's the best thing to do, nothing ;p 2018-11-28T12:34:26Z edw: You are expressing dissatisfaction with it, so I'm trying to help. Using vectors would allow you to get rid of the repeated (apply f ...). 2018-11-28T12:34:28Z klovett joined #scheme 2018-11-28T12:36:20Z edw: And not not understanding your code at a glance (procss too long, too many comments) I would suggest defining macros to create new names for car/cdr/cons so that you and other readers of the code can distinguish between operations on lists and operations on graph elements. 2018-11-28T12:36:29Z edw: s/not not/not/ 2018-11-28T12:36:53Z edw: s/procss/procs/ 2018-11-28T12:37:10Z edw: Just switched keyboards from ten minutes ago. 2018-11-28T12:37:36Z klovett_ quit (Ping timeout: 250 seconds) 2018-11-28T12:37:38Z edw: Macros or (define make-tuple cons)... 2018-11-28T12:37:42Z edw: Or whatever. 2018-11-28T12:41:28Z edw: Scheme style would be to use TUPLE, not MAKE-TUPLE. 2018-11-28T12:47:01Z ManDay: edw: yeah i might do that in the long run 2018-11-28T12:47:21Z ManDay: for now I didn't want to have to maintain too many defines, just the really functional stuff 2018-11-28T12:48:04Z ManDay: (eventually when stuff goes into a lib i might want to decide to take out things into global scope, just to make things more readable), right now i want things concise and compressed 2018-11-28T12:49:30Z klovett_ joined #scheme 2018-11-28T12:50:54Z edw: There's a difference between something being concise and something being subjected to lossy compression. Not distinguishing between "head of a list" and "slot X of data structure Y" is the latter. 2018-11-28T12:51:21Z klovett quit (Ping timeout: 246 seconds) 2018-11-28T12:52:16Z pie__ joined #scheme 2018-11-28T12:55:43Z acarrico joined #scheme 2018-11-28T13:01:00Z ManDay: edw: come again? 2018-11-28T13:03:26Z edw: I assert that if you use CONS/CAR/CDR on more than one type of data in a given procedure, you should either break the procedure up (inclusive!) OR create an alias for the procedures that makes the data structure and your intent clear. 2018-11-28T13:04:25Z ManDay: yes and I said I hear you, and i will do that in the long run once someone is supposed to follow along my code 2018-11-28T13:04:40Z ManDay: right now, i want maximum entropy in the code 2018-11-28T13:04:40Z edw: And not doing that is not "being concise" but is being sloppy and denying future readers of the code (yourself included) of important information. 2018-11-28T13:05:05Z ManDay: the information (definitions) are there in the comments, fwiw 2018-11-28T13:05:12Z klovett joined #scheme 2018-11-28T13:05:36Z ManDay: what you are advocating is descriptive names of procedures. that's what I don't have. 2018-11-28T13:06:19Z edw: I meant "one" not "YOU, ManDay!" when I wrote above. 2018-11-28T13:07:48Z klovett_ quit (Ping timeout: 246 seconds) 2018-11-28T13:17:02Z dkmueller quit (Ping timeout: 250 seconds) 2018-11-28T13:19:02Z jao joined #scheme 2018-11-28T13:20:57Z jcowan joined #scheme 2018-11-28T13:25:41Z nikos joined #scheme 2018-11-28T13:26:06Z nikos is now known as Guest46771 2018-11-28T13:27:52Z nikal quit (Ping timeout: 250 seconds) 2018-11-28T13:29:10Z acarrico quit (Ping timeout: 250 seconds) 2018-11-28T13:31:43Z nikal joined #scheme 2018-11-28T13:33:08Z dkmueller joined #scheme 2018-11-28T13:33:40Z Guest46771 quit (Ping timeout: 268 seconds) 2018-11-28T13:34:51Z nikos_ joined #scheme 2018-11-28T13:36:47Z nikal quit (Ping timeout: 240 seconds) 2018-11-28T13:45:51Z acarrico joined #scheme 2018-11-28T13:46:32Z TheGreekOwl quit (Ping timeout: 268 seconds) 2018-11-28T13:53:58Z InverseRhombus quit (Remote host closed the connection) 2018-11-28T13:58:29Z lritter joined #scheme 2018-11-28T14:02:25Z ManDay quit (Ping timeout: 256 seconds) 2018-11-28T14:16:43Z skapata joined #scheme 2018-11-28T14:17:35Z edw: Should not (eq? '(a . (b c)) '(a b c)) => #t 2018-11-28T14:17:54Z edw: ? 2018-11-28T14:19:07Z skapata quit (Client Quit) 2018-11-28T14:20:39Z edw: Actually, it looks like it should not. 2018-11-28T14:21:47Z ogamita: Which is why you should avoid eq? which is too low-level an operator. 2018-11-28T14:22:27Z InverseRhombus joined #scheme 2018-11-28T14:22:28Z ogamita: (equal? '(a . (b c)) '(a b c)) => #t 2018-11-28T14:24:26Z edw: I'm w/ you; was under the mistaken assumption (chibi test) used eq?, which would be insane. 2018-11-28T14:29:14Z edw: My question was based on errors upon incorrect assumptions upon errors. 2018-11-28T14:31:24Z marvin2: + 2018-11-28T14:33:07Z ng0 joined #scheme 2018-11-28T14:40:34Z badkins quit (Remote host closed the connection) 2018-11-28T14:49:37Z klovett_ joined #scheme 2018-11-28T14:51:30Z klovett quit (Ping timeout: 250 seconds) 2018-11-28T14:56:35Z badkins joined #scheme 2018-11-28T14:57:24Z confusedwanderer joined #scheme 2018-11-28T15:06:41Z klovett joined #scheme 2018-11-28T15:07:19Z dbmikus joined #scheme 2018-11-28T15:08:51Z klovett_ quit (Ping timeout: 250 seconds) 2018-11-28T15:11:05Z casmajavi quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2018-11-28T15:13:08Z badkins_ joined #scheme 2018-11-28T15:13:46Z jonaslund joined #scheme 2018-11-28T15:14:06Z badkins quit (Ping timeout: 268 seconds) 2018-11-28T15:15:07Z ManDay joined #scheme 2018-11-28T15:15:50Z ManDay quit (Changing host) 2018-11-28T15:15:50Z ManDay joined #scheme 2018-11-28T15:15:50Z ManDay quit (Changing host) 2018-11-28T15:15:50Z ManDay joined #scheme 2018-11-28T15:16:03Z ManDay: The bad thing is not the loosing connection, but re-doing these humiliating captchas every time 2018-11-28T15:18:08Z qu1j0t3: :D 2018-11-28T15:18:18Z qu1j0t3: can't be too careful! 2018-11-28T15:19:22Z ManDay: these are not normal captchas, they're real fucking-with-you captchas. i think I've clicked on at least 60 cars, 20 traffic lights and more than 30 street crossings in the last week 2018-11-28T15:19:42Z qu1j0t3: you're keeping those self driving cars on the road. 2018-11-28T15:19:56Z qu1j0t3: don't stop. there would be mayhem. 2018-11-28T15:19:57Z ManDay: and it randomly decides to give you one of those "wait a few seconds until we gradually fade in the next picture" captchas every now and then, just to piss you off even more 2018-11-28T15:20:04Z ManDay: qu1j0t3: haha 2018-11-28T15:20:09Z ManDay: that's how it works then! 2018-11-28T15:20:12Z qu1j0t3: :D 2018-11-28T15:24:53Z edw: ManDay: If you can spare a few dollars/euros from your beer/ramen budget, I recommend getting a cheap AWS/Google Cloud instance and running tmux + emacs in it. 2018-11-28T15:27:21Z ManDay: emacs? why the hell would I do that? :-D 2018-11-28T15:28:12Z edw: ERC? 2018-11-28T15:28:14Z qu1j0t3: or anything. weechat works 2018-11-28T15:28:20Z ManDay: more my thing 2018-11-28T15:37:00Z pierpal quit (Quit: Poof) 2018-11-28T15:37:20Z pierpal joined #scheme 2018-11-28T15:51:29Z Zaab1t joined #scheme 2018-11-28T15:56:12Z Inline joined #scheme 2018-11-28T15:58:02Z edw: Why would you want to do tmux + emacs + erc? It almost never disconnects. 2018-11-28T16:01:26Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:02:49Z Inline joined #scheme 2018-11-28T16:03:17Z pierpal quit (Quit: Poof) 2018-11-28T16:03:35Z pierpal joined #scheme 2018-11-28T16:04:38Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:05:26Z Inline joined #scheme 2018-11-28T16:07:13Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:08:00Z Inline joined #scheme 2018-11-28T16:10:05Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:10:39Z Inline joined #scheme 2018-11-28T16:11:03Z rain1 joined #scheme 2018-11-28T16:11:09Z ogamita: And then we could start to click on different objects, and teach the AI something completely wrong! 2018-11-28T16:11:24Z smazga joined #scheme 2018-11-28T16:12:55Z robotoad joined #scheme 2018-11-28T16:17:04Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:17:49Z Inline joined #scheme 2018-11-28T16:18:22Z pierpal quit (Quit: Poof) 2018-11-28T16:18:43Z pierpal joined #scheme 2018-11-28T16:20:48Z nika joined #scheme 2018-11-28T16:22:13Z hook54321 quit (Quit: Connection closed for inactivity) 2018-11-28T16:23:06Z nikos_ quit (Ping timeout: 246 seconds) 2018-11-28T16:24:19Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:24:59Z Inline joined #scheme 2018-11-28T16:25:58Z Inline quit (Read error: Connection reset by peer) 2018-11-28T16:26:28Z nikal joined #scheme 2018-11-28T16:28:07Z nika quit (Ping timeout: 240 seconds) 2018-11-28T16:28:48Z elderK quit (Ping timeout: 268 seconds) 2018-11-28T16:30:23Z nika joined #scheme 2018-11-28T16:31:47Z nikal quit (Ping timeout: 240 seconds) 2018-11-28T16:44:18Z badkins joined #scheme 2018-11-28T16:44:37Z badkins_ quit (Ping timeout: 250 seconds) 2018-11-28T16:48:20Z grettke joined #scheme 2018-11-28T16:54:13Z [X-Scale] joined #scheme 2018-11-28T16:54:25Z Inline joined #scheme 2018-11-28T16:54:37Z marvin2 quit (Ping timeout: 268 seconds) 2018-11-28T16:55:04Z X-Scale quit (Ping timeout: 246 seconds) 2018-11-28T16:55:31Z nikal joined #scheme 2018-11-28T16:55:34Z [X-Scale] is now known as X-Scale 2018-11-28T16:56:11Z edw: Chibi's docs somehow know how to place scribble docstring arguments in a proc signature where there's a rest argument for optionals. I'm following the same conventions but chibi-doc doesn't replace e.g. "(parse source . o)" with "(parse source [index])" in the generated HTML. Anyone have any insight into what's going on and/or what I need to do to have correct docs generated? 2018-11-28T16:56:47Z nika quit (Ping timeout: 240 seconds) 2018-11-28T17:03:18Z Inline quit (Read error: Connection reset by peer) 2018-11-28T17:04:07Z Inline joined #scheme 2018-11-28T17:08:17Z ManDay quit (Ping timeout: 256 seconds) 2018-11-28T17:09:04Z Inline quit (Read error: Connection reset by peer) 2018-11-28T17:10:01Z Inline joined #scheme 2018-11-28T17:11:40Z nikal quit (Quit: Konversation terminated!) 2018-11-28T17:18:01Z Inline quit (Read error: Connection reset by peer) 2018-11-28T17:18:30Z Inline joined #scheme 2018-11-28T17:21:33Z badkins quit (Ping timeout: 246 seconds) 2018-11-28T17:41:13Z klovett quit 2018-11-28T17:48:44Z Perkol joined #scheme 2018-11-28T17:53:29Z groovy2shoes quit (Quit: moritura te salutat) 2018-11-28T18:04:03Z ng0 quit (Remote host closed the connection) 2018-11-28T18:04:36Z ng0 joined #scheme 2018-11-28T18:04:45Z marvin2 joined #scheme 2018-11-28T18:18:15Z acarrico quit (Ping timeout: 246 seconds) 2018-11-28T18:24:20Z badkins joined #scheme 2018-11-28T18:32:18Z klovett joined #scheme 2018-11-28T18:37:46Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-28T18:45:42Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-28T18:51:33Z grettke joined #scheme 2018-11-28T18:55:01Z daviid` joined #scheme 2018-11-28T18:55:19Z edw: Re: chibi-doc and scribble: Chibi looks at the code for optional binding code patterns, and my code didn't contain a matching pattern. 2018-11-28T18:56:24Z daviid quit (Ping timeout: 246 seconds) 2018-11-28T19:11:04Z ober: Scheme/Lisp stories on HN always seem to draw the worst cliched comments. 2018-11-28T19:13:33Z edw: You can remove "Scheme/Lisp " in your message and it is still true. HN is a garbage can. 2018-11-28T19:14:48Z ober: "but arc! turtles all the way down man!" 2018-11-28T19:19:27Z edw: The sociopathic pedantry is sanctimonious in a way that it isn't here. 2018-11-28T19:19:37Z edw: (Mostly.) 2018-11-28T19:20:20Z edw: ober: Oh yes! Arc -> Racket (er, mzscheme) -> Chez. 2018-11-28T19:21:09Z edw: Arc still has, what, eighty-eight years of Hundred-Year Rule left before the next language takes over? 2018-11-28T19:22:13Z dkmuelle1 joined #scheme 2018-11-28T19:22:38Z dkmueller quit (Disconnected by services) 2018-11-28T19:22:46Z dkmuelle1 quit (Client Quit) 2018-11-28T19:23:05Z dkmueller joined #scheme 2018-11-28T19:23:07Z rain1: im no fan of arc 2018-11-28T19:23:19Z rain1: but i do think it's cool that people will experiment and develop their own version and stuff 2018-11-28T19:23:28Z razzy quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-28T19:24:32Z razzy joined #scheme 2018-11-28T19:27:44Z amz3 joined #scheme 2018-11-28T19:32:54Z terpri quit (Ping timeout: 264 seconds) 2018-11-28T19:34:33Z edw: Genuine question: What has anyone come up with that doesn't entail writing a few macros? Lisps (as we all know here) are malleable language. 2018-11-28T19:46:42Z mejja joined #scheme 2018-11-28T19:46:59Z Riastradh: mejja: What'd I break this time? 2018-11-28T19:52:05Z mejja: Maybe indicate in the commit msg when staging is required to get a working system? 2018-11-28T19:52:19Z Riastradh: What broke? 2018-11-28T19:52:30Z dkmueller quit (Quit: Lost terminal) 2018-11-28T19:53:20Z mejja: Nothing. 2018-11-28T19:53:39Z Riastradh: System should compile just fine, but yes, the tests won't pass until the runtime is recompiled with a fresh compiler. 2018-11-28T19:58:44Z badkins quit (Ping timeout: 250 seconds) 2018-11-28T20:14:19Z Zaab1t quit (Quit: bye bye friends) 2018-11-28T20:15:51Z zachk joined #scheme 2018-11-28T20:16:25Z zachk quit (Changing host) 2018-11-28T20:16:25Z zachk joined #scheme 2018-11-28T20:16:33Z mejja: sqrt is broken. 2018-11-28T20:17:45Z qu1j0t3: meh, nobody uses that anyway 2018-11-28T20:19:55Z mejja: (expt z 1/2) is also broken btw.. 2018-11-28T20:30:02Z Zipheir: edw: Maybe that was a rhetorical question, but I can think of a few counterexamples. Pie, the dependently-typed Lisp-y language from The Little Typer is more than a few macros, sadly. 2018-11-28T20:32:18Z Perkol quit (Quit: Leaving) 2018-11-28T20:33:12Z mejja: rudybot, Movie tip of the day: For a few macros more -- starring C Lint Eastwood 2018-11-28T20:33:38Z rudybot: mejja: Have Robert Redford and Clint Eastwood ever collaborated on anything? 2018-11-28T20:36:03Z badkins joined #scheme 2018-11-28T20:38:54Z Zipheir: Also starring Lee Van Clisp as the evil bounty hunter. 2018-11-28T20:38:57Z Riastradh: mejja: Elaborate? 2018-11-28T20:39:04Z Riastradh: Where is it broken? 2018-11-28T20:40:21Z confusedwanderer quit (Quit: confusedwanderer) 2018-11-28T20:50:13Z skapata joined #scheme 2018-11-28T21:05:49Z edw: Zipheir: Per the prefatory comment, it was a genuine comment. Was Pie a descendent of Arc? (That was my question about Arc: has anyone done anything that amounts to more than changing from powdered to brown sugar?) 2018-11-28T21:08:44Z Zipheir: edw: Oh, got it. Arc does seem like sort of a dead-end at the moment. 2018-11-28T21:08:50Z Riastradh: Well abs is broken. 2018-11-28T21:10:11Z badkins quit 2018-11-28T21:13:32Z edw: Zipheir: Aside from my "Lisp is good" enthusiasm, I never really got the excitement. Conciseness is great, but there was nothing new; in fact it was a regression in that PG embraced anaphoric forms and non-hygienic macros. Also, Clojure IMO stole all its thunder -- for good reason. 2018-11-28T21:15:43Z gwatt: PG came from common lisp, so it's not surprising he prefers unhygienic macros. Also, I'm fairly certain Pie has nothing to do with Arc 2018-11-28T21:17:00Z sz0 joined #scheme 2018-11-28T21:18:49Z edw: gwatt: He wrote a CL book, didn't he? Learning Common Lisp? I'm having flashbacks to fifteen years ago when a colleague said, "There are very good reasons for preferring a LISP-2." I asked what they were and he said, "Richard Gabriel wrote a paper in support of it," and open reading, I found that RG wrote, paraphrasing, that LISP-1s are probably better but "backwards compatibility!" 2018-11-28T21:19:07Z edw: s/open/upon/ 2018-11-28T21:19:24Z gwatt: edw: PG = Paul Graham 2018-11-28T21:19:32Z gwatt: (who made Arc) 2018-11-28T21:20:08Z Zipheir: Yeah, Paul Graham is a CL snob. 2018-11-28T21:20:33Z edw: gwatt: If you read my comments above you will see I know exactly who PG and RG are. 2018-11-28T21:21:40Z edw: More correcting people who aren't wrong on #scheme. Nerdsplaining. 2018-11-28T21:21:44Z gwatt: edw: I assumed you misread PG as RG, and thought I was talking about Richard Gabriel 2018-11-28T21:21:56Z qu1j0t3: edw: & PG wrote a book called "On Lisp" which has a lot to say about CL macros, as far as I remember. 2018-11-28T21:22:10Z Zipheir: Although I don't think Clojure stole anyone's thunder for good reason. It's just that Clojure has really good marketing. 2018-11-28T21:22:26Z edw: He also write ANSI Common Lisp, which was the title I was groping for above. 2018-11-28T21:22:32Z edw: s/write/wrote/ 2018-11-28T21:22:34Z wasamasa: groping? 2018-11-28T21:23:05Z ober: groking 2018-11-28T21:23:09Z edw: I thought the title was _Learning Common Lisp_. 2018-11-28T21:23:21Z ober: On Lisp 2018-11-28T21:23:46Z Zipheir: Amazingly, Paul Graham has written more than one book. 2018-11-28T21:23:54Z edw: Could it be possible he wrote two books, ober? And that you're correcting me incorrectly? 2018-11-28T21:24:09Z InverseRhombus joined #scheme 2018-11-28T21:24:52Z edw: For the pedants: >= 2 books. 2018-11-28T21:24:55Z ober: he wrote several yes. 2018-11-28T21:25:10Z edw: Game set and match. 2018-11-28T21:25:11Z ober: all about how Clisp saved his company 2018-11-28T21:25:15Z ober: endless love 2018-11-28T21:25:42Z edw: That was (also) a big them of Hackers and Painters. 2018-11-28T21:25:49Z edw: s/them/theme/ 2018-11-28T21:25:52Z Zipheir: 5 IRC points to edw for winning the 'number of books by Paul Graham' dispute. 2018-11-28T21:26:12Z wasamasa: dabblers and blowhards 2018-11-28T21:26:30Z ober: ANSI Common Lisp perhaps? 2018-11-28T21:27:00Z ober: not seeing a 'learning cl' 2018-11-28T21:27:05Z Riastradh: He's also written arbitrarily many insufferable essays from his privileged technocrat armchair where he's so shielded from all consequences of his actions that there are no limits to what he feels entitled to bloviate about. 2018-11-28T21:27:11Z qu1j0t3: ober: the whole story is in scrollback. 2018-11-28T21:27:12Z qu1j0t3: 16:22:26 edw | He also write ANSI Common Lisp, which was the title I was groping for above. 2018-11-28T21:27:13Z edw: wasamasa: I recall the essay from a "real" painter, possibly art historian, that argued, "painters didn't paint that way." 2018-11-28T21:27:29Z qu1j0t3: Riastradh++ 2018-11-28T21:27:35Z wasamasa: edw: http://idlewords.com/2005/04/dabblers_and_blowhards.htm 2018-11-28T21:27:43Z qu1j0t3: Riastradh: my god his tweets are oblivious 2018-11-28T21:28:46Z ober: qu1j0t3: irc is hard, and I'm lazy. thanks will do 2018-11-28T21:28:50Z edw: qu1j0t3: That's why you get for engaging with crazy. Be careful what you let into your brain. 2018-11-28T21:29:30Z edw: ober: Much better to just infuriate people by correcting for things they didn't say. 2018-11-28T21:30:51Z ober: oh was not correcting. just assuming 2018-11-28T21:31:37Z edw: I need to transition from coffee to beer. Sorry for the hair-trigger rage, ober et al. 2018-11-28T21:31:57Z ober: edw: it's fine 2018-11-28T21:32:29Z qu1j0t3: edw: o/ i need more coffee myself. 2018-11-28T21:32:33Z qu1j0t3: motivation is hard this afternoon. 2018-11-28T21:32:45Z qu1j0t3: beer would end my aspirations to work at all. 2018-11-28T21:33:00Z Zipheir: wasamasa: That's a very amusing post. Almost as amusing as Graham's "painters are like hackers because they both make things" pseudo-deep bogus. 2018-11-28T21:33:03Z ober: Riastradh: do you feel he's done harm to the lisp eco system? 2018-11-28T21:33:23Z ober: he use to eat at the restaurant across the street in palo alto. never had a book for him to sign on me. 2018-11-28T21:33:31Z wasamasa: Zipheir: I generally like this guy's writings because they give me an idea about wildly different topics that I haven't given much thought about 2018-11-28T21:33:37Z qu1j0t3: he probably would have called security on you anyway ober 2018-11-28T21:33:47Z wasamasa: Zipheir: like, how it is to actually live in argentina 2018-11-28T21:34:00Z edw: I published two packages on snow-fort so I consider myself to have rolled the boulder sufficiently up the hill. 2018-11-28T21:34:21Z qu1j0t3: edw: I'm not there yet. I have a daily quota. It is hard to meet it thanks to burnout. 2018-11-28T21:35:42Z edw: qu1j0t3: I used to be hard on myself when I was burned out. At some point you need to trust that you're going to get your mojo back and relax. If you're going to accomplish nothing, don't also dig your hole of despair deeper. 2018-11-28T21:35:50Z Zipheir: ober: Maybe it's being hard on Paul Graham, but he's almost the ESR of Lisp at this point. 2018-11-28T21:36:05Z edw: The will to make things comes back. You just need to trust yourself. 2018-11-28T21:36:14Z qu1j0t3: edw: yeah, but i do have to meet a quota :) 2018-11-28T21:36:17Z ober: He just looks like a big Dave Coulier 2018-11-28T21:36:42Z Riastradh: ober: I dunno, I don't pay much attention to him. 2018-11-28T21:36:49Z edw: PG hasn't ruined the hackers' dictionary. 2018-11-28T21:37:21Z Zipheir: He's also not a raving political nut. As I said, the comparison is a little too harsh. 2018-11-28T21:37:31Z qu1j0t3: Zipheir: actually... he kind of is. 2018-11-28T21:37:37Z qu1j0t3: Zipheir: how many of his tweets have you read? 2018-11-28T21:37:43Z ober feels he forgot to also promote the downside of lisp and be pragmatic about how "magical" clisp was of all implementations. 2018-11-28T21:38:00Z edw: qu1j0t3, Zipheir: He's basically a crypto Ayn Randian. 2018-11-28T21:38:06Z qu1j0t3: indeed. 2018-11-28T21:38:07Z edw: s/basically// 2018-11-28T21:38:18Z qu1j0t3: simply doing what he does is extremely political. 2018-11-28T21:38:24Z Zipheir: qu1j0t3: AFAIK he's a sort of anarcho-capitalist? 2018-11-28T21:38:32Z badkins joined #scheme 2018-11-28T21:38:38Z qu1j0t3: how is that not political and not nutty? :) 2018-11-28T21:39:07Z edw: I think Riastradh's analysis is pretty spot on. 2018-11-28T21:39:11Z qu1j0t3: and as for raving, he's so out of touch he might as well be huffing paint when he opines on anything, as Riastradh pointed out. 2018-11-28T21:39:25Z Zipheir: qu1j0t3: I meant to say not as off-the-wall disgusting as ESR, but I don't want to get into subjects that will cause Riastradh to explode. 2018-11-28T21:39:39Z qu1j0t3: Zipheir: that's a different statement ... they're horrible in their own ways, to be sure. 2018-11-28T21:39:39Z ober: a more technical Russ Hanneman 2018-11-28T21:39:41Z Riastradh: ober: I try to pay attention to (a) political issues that don't promote violent ethnonationalism or infinite wealth concentration, and (b) people who actually do technical work. 2018-11-28T21:39:55Z qu1j0t3: Riastradh: high five for (a) 2018-11-28T21:40:20Z ober: nice 2018-11-28T21:43:33Z jcowan does not agree that the Hacker's Dictionary was "ruined", despite being politically opposed to ESR and no longer his friend (since 9/11+) 2018-11-28T21:45:02Z ober: he was like the sort of folks who rush to see the UFO land. and was just a first poster on linux 2018-11-28T21:46:39Z edw: The objectively funniest part of dabblers and blowhards is this: 2018-11-28T21:47:48Z wasamasa waits anxiously 2018-11-28T21:48:02Z edw: "Even the most elegant of computer programs, in order to be considered a program, has to compile and run [1]." 2018-11-28T21:48:17Z edw: And, then, the footnote: 2018-11-28T21:48:34Z edw: "[1] Some Arc hackers may disagree with this." 2018-11-28T21:48:40Z wasamasa: :D 2018-11-28T21:51:11Z Zipheir: The painting/programming analogy isn't total bogus (Sussman constantly makes photography/CS analogies), Graham just seems to be so high on his own brilliance that he can't be troubled to think the idea through. 2018-11-28T21:52:16Z edw: Metaphors with limits (i.e. ALL METAPHORS) are useful and fine as long as they're invoked judiciously. 2018-11-28T21:53:45Z Zipheir: "Metaphors are useful when they help you to formulate questions, but dangerous when used to provide answers" --somebody 2018-11-28T21:55:06Z edw: rain1: I pushed my brace expansion code to snow-fort.org so now the rosettacode.org solution can be a two-liner. 2018-11-28T21:55:18Z rain1: lol 2018-11-28T21:57:41Z Riastradh: edw: I bet you pushed your hyperbolic calculator up to snow-fort.org too just so you could cheat on the math test with a two-liner! 2018-11-28T21:59:34Z edw: Riastradh: I have done nearly as bad. In junior high I took two math courses simultaneously and to show my contempt for the prereq course I once constructed a sliderule in class and asked if i could use it on the test. 2018-11-28T21:59:51Z qu1j0t3: :) 2018-11-28T22:00:09Z edw: Using graph paper and a log table. 2018-11-28T22:00:46Z edw: I wish I could go back and apologize to Mrs P. I was(?) an ass. 2018-11-28T22:00:51Z ober: edw: Snowfort? that still in use? 2018-11-28T22:01:00Z jcowan: "Even the best of friends cannot attend each other's funerals." --Kehlog Albran 2018-11-28T22:01:10Z edw: Yeah, plenty of stuff has gotten pushed recently. 2018-11-28T22:02:36Z edw: ober: I was thinking of hooking something into chibi to allow modules to be associated with URLs and for a brief moment I emerged from my NIH madness and figured out when snow-chibi was segfaulting on my machine. 2018-11-28T22:04:35Z ober: oh the r7rs stuff 2018-11-28T22:05:56Z edw: For me it's R7RS or the highway. I am so enthusiastic about the prospects for revitalizing Scheme and enabling an era when practical real-world applications can be built in Scheme. 2018-11-28T22:10:21Z Zipheir: edw++ 2018-11-28T22:12:04Z edw: And with that... 2018-11-28T22:19:35Z jcowan: edw has voted; the rest of you, go and do likewise! 2018-11-28T22:24:00Z debsan quit (Ping timeout: 268 seconds) 2018-11-28T22:28:07Z debsan joined #scheme 2018-11-28T22:28:07Z debsan quit (Changing host) 2018-11-28T22:28:07Z debsan joined #scheme 2018-11-28T22:40:48Z daviid` quit (Ping timeout: 250 seconds) 2018-11-28T22:42:59Z TheGreekOwl joined #scheme 2018-11-28T22:43:49Z rain1: is there a nice "printf"/format type library thaht uses s-expressions for the format "string", ideally implemented in plain syntax-rules or something? 2018-11-28T22:47:19Z Heretic: rain1: Wouldn't that be Scheme? 2018-11-28T22:47:58Z civodul quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-28T22:50:09Z elderK joined #scheme 2018-11-28T22:54:10Z gwatt: jcowan: where is the vote happening? 2018-11-28T22:55:36Z jcowan: Tangerine ballot: https://docs.google.com/forms/d/1XQNvIzijmCxHgnaRq31u9MogloG0YWDaWKBs-J9CCTA 2018-11-28T22:55:36Z jcowan: Orange straw poll: https://docs.google.com/forms/d/1qn1Ut7tR5bzXyWOrxpbLu5O7rJJ5_m2HhAeG8YqfgGI 2018-11-28T22:55:39Z jcowan: gwatt: ^^ 2018-11-28T23:01:08Z ober: so (set! (car lst) 3) is not scheme? 2018-11-28T23:06:15Z gwatt: ober: it's not widely (if at all) supported, but it could be 2018-11-28T23:08:01Z ober: gotcha. the idea that the addition of features above and beyond the spec invalidates it as a scheme seemed odd. 2018-11-28T23:11:34Z dbmikus quit (Ping timeout: 250 seconds) 2018-11-28T23:12:47Z gwatt: extra or absent features don't make it not scheme. 2018-11-28T23:13:29Z ober: aye 2018-11-28T23:23:37Z jcowan: ober: It's on the list to be added to R7RS-large, if the punters so decide. Because it's not backward compatible without some pain, it's going to be (if at all) in the Green Edition. 2018-11-28T23:23:59Z jcowan: s/backward compatible/portable 2018-11-28T23:52:25Z pie__ quit (Remote host closed the connection) 2018-11-28T23:52:29Z pie___ joined #scheme 2018-11-28T23:53:13Z InverseRhombus quit (Read error: Connection reset by peer) 2018-11-29T00:00:26Z robotoad quit (Quit: robotoad) 2018-11-29T00:00:42Z acarrico joined #scheme 2018-11-29T00:01:03Z smazga quit (Quit: leaving) 2018-11-29T00:02:50Z Riastradh: mejja: Gonna tell me what's wrong with sqrt? 2018-11-29T00:11:26Z klovett quit 2018-11-29T00:14:22Z daviid joined #scheme 2018-11-29T00:23:02Z zachk quit (Read error: Connection reset by peer) 2018-11-29T00:23:35Z zachk joined #scheme 2018-11-29T00:24:53Z zachk quit (Changing host) 2018-11-29T00:24:53Z zachk joined #scheme 2018-11-29T00:27:02Z weinholt quit (Ping timeout: 252 seconds) 2018-11-29T00:38:23Z robotoad joined #scheme 2018-11-29T00:41:14Z lambda-11235 joined #scheme 2018-11-29T01:01:23Z klovett joined #scheme 2018-11-29T01:22:08Z lritter quit (Ping timeout: 245 seconds) 2018-11-29T01:23:03Z lritter joined #scheme 2018-11-29T01:32:54Z InverseRhombus joined #scheme 2018-11-29T01:34:25Z lambda-11235 quit (Quit: Bye) 2018-11-29T01:35:52Z lritter quit (Ping timeout: 250 seconds) 2018-11-29T01:44:02Z mejja: Riastradh, (sqrt -inf.0+1.0i) & (sqrt -inf.0-1.0i) 2018-11-29T01:44:25Z skapata quit (Read error: Connection reset by peer) 2018-11-29T01:48:07Z Riastradh: I guess those should both be +inf.0i? 2018-11-29T01:49:35Z Riastradh: Grah. What was I thinking. This hex floating-point formatter is completely broken. 2018-11-29T01:50:37Z ng0 quit (Quit: Alexa, when is the end of world?) 2018-11-29T01:52:46Z daviid quit (Ping timeout: 250 seconds) 2018-11-29T01:53:52Z Riastradh: I was going to go Kahan's branch cuts paper and make sure we got everything right with reasonably small error, and add the hyperbolic functions too, but it's a bit of work. 2018-11-29T01:56:25Z mejja: Riastradh, http://paste.call-cc.org/paste?id=326f8e28c28db349dc503da3da1fce441c8515e6 2018-11-29T01:57:01Z Riastradh: OK, makes sense. 2018-11-29T01:57:08Z hugo quit (Ping timeout: 245 seconds) 2018-11-29T02:01:18Z niklasl quit (Ping timeout: 246 seconds) 2018-11-29T02:07:47Z pie___ quit (Remote host closed the connection) 2018-11-29T02:08:46Z pie___ joined #scheme 2018-11-29T02:09:36Z pie___ quit (Remote host closed the connection) 2018-11-29T02:09:58Z pie___ joined #scheme 2018-11-29T02:18:26Z daviid joined #scheme 2018-11-29T02:27:33Z elly quit (Quit: update) 2018-11-29T02:28:02Z zachk quit (Quit: Leaving) 2018-11-29T02:30:53Z lockywolf joined #scheme 2018-11-29T02:33:04Z acarrico quit (Ping timeout: 250 seconds) 2018-11-29T02:37:41Z weinholt joined #scheme 2018-11-29T02:37:43Z niklasl joined #scheme 2018-11-29T02:39:08Z InverseRhombus quit (Ping timeout: 250 seconds) 2018-11-29T02:44:19Z hugo joined #scheme 2018-11-29T02:53:15Z jao quit (Remote host closed the connection) 2018-11-29T02:54:34Z fadein quit (Quit: leaving) 2018-11-29T02:58:47Z mejja quit (Quit: mejja) 2018-11-29T03:06:54Z fadein joined #scheme 2018-11-29T03:33:14Z jao joined #scheme 2018-11-29T03:33:27Z tessier quit (Ping timeout: 240 seconds) 2018-11-29T03:41:41Z xkapastel quit (Quit: Connection closed for inactivity) 2018-11-29T03:50:20Z ozzloy quit (Quit: Changing server) 2018-11-29T03:59:25Z grettke quit (Quit: "Sleep, those little slices of death — how I loathe them.") 2018-11-29T04:01:04Z ozzloy joined #scheme 2018-11-29T04:01:04Z ozzloy quit (Changing host) 2018-11-29T04:01:04Z ozzloy joined #scheme 2018-11-29T04:09:26Z lockywolf_ joined #scheme 2018-11-29T04:09:52Z lockywolf quit (Ping timeout: 268 seconds) 2018-11-29T04:22:42Z daviid quit (Ping timeout: 250 seconds) 2018-11-29T04:35:46Z lockywolf_ quit (Ping timeout: 268 seconds) 2018-11-29T04:44:23Z jao quit (Ping timeout: 250 seconds) 2018-11-29T05:18:31Z groovy2shoes joined #scheme 2018-11-29T05:29:44Z Inline quit (Quit: Leaving) 2018-11-29T05:49:05Z marusich joined #scheme 2018-11-29T06:07:08Z klovett_ joined #scheme 2018-11-29T06:10:30Z klovett quit (Ping timeout: 246 seconds) 2018-11-29T06:13:36Z klovett joined #scheme 2018-11-29T06:16:59Z klovett_ quit (Ping timeout: 268 seconds) 2018-11-29T06:27:53Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-29T06:28:36Z DGASAU joined #scheme 2018-11-29T06:35:21Z DGASAU` joined #scheme 2018-11-29T06:36:38Z DGASAU quit (Ping timeout: 268 seconds) 2018-11-29T06:39:13Z klovett quit (Ping timeout: 250 seconds) 2018-11-29T06:40:42Z X-Scale quit (Read error: Connection reset by peer) 2018-11-29T06:46:48Z klovett joined #scheme 2018-11-29T06:59:54Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-29T07:00:51Z DGASAU joined #scheme 2018-11-29T07:08:31Z DGASAU` joined #scheme 2018-11-29T07:10:33Z DGASAU quit (Ping timeout: 268 seconds) 2018-11-29T07:19:36Z jcowan quit (Quit: Connection closed for inactivity) 2018-11-29T07:40:50Z marusich quit (Quit: Leaving) 2018-11-29T07:52:36Z DGASAU` quit (Quit: ERC (IRC client for Emacs 26.1)) 2018-11-29T07:55:13Z DGASAU joined #scheme 2018-11-29T08:00:08Z hook54321 joined #scheme 2018-11-29T08:03:34Z civodul joined #scheme 2018-11-29T08:05:48Z wigust- joined #scheme 2018-11-29T08:07:36Z wigust quit (Ping timeout: 250 seconds) 2018-11-29T08:14:46Z kjak quit (Ping timeout: 268 seconds) 2018-11-29T08:15:46Z kjak joined #scheme 2018-11-29T08:22:40Z ManDay joined #scheme 2018-11-29T08:23:41Z ManDay: I suppose there is no easy, nice way to solve the (let ((local1 #f) (local2 #t)) (define x (cons local1 local2))) problem nicely? 2018-11-29T08:24:03Z ManDay: I'm no macro person, but I think writing a macro which would solve it will be complicated 2018-11-29T08:30:46Z pie___ quit (Remote host closed the connection) 2018-11-29T08:30:55Z pie___ joined #scheme 2018-11-29T08:32:42Z daviid joined #scheme 2018-11-29T08:36:59Z ogamita: ManDay: what is this problem? 2018-11-29T08:37:29Z ManDay: ogamita: That doesn't compile. The idea is to define stuff using a local helper variable 2018-11-29T08:37:41Z ogamita: If it's the toplevelness of define, then you can write it (define x (let ((local1 #f) (local2 #t)) (cons local1 local2))) 2018-11-29T08:38:10Z ManDay: ogamita: I should have said, the point is that I have multiple defines using the same helper variable 2018-11-29T08:38:19Z ogamita: Oh. 2018-11-29T08:39:02Z ogamita: Why do you want to define global variables? 2018-11-29T08:39:40Z ManDay: You mean opposed to writing a module? 2018-11-29T08:41:01Z ogamita: yes, using local variables, or (since actually my question was on the plural), why not define a single variable containing all the values (eg a vector or a structure)? 2018-11-29T08:45:12Z ManDay: in principle, it's still polluting a namespace somewhere 2018-11-29T08:45:22Z ManDay: but yeah, better i pollute the internal module namespace 2018-11-29T08:45:24Z Zipheir: ManDay: I don't know the context, but maybe you could return a procedure. 2018-11-29T08:45:39Z ManDay: I don't understand. 2018-11-29T08:46:43Z ManDay: The context is as simple as that I have a public integer X and I need to use 1+2^X in multiple defines 2018-11-29T08:46:54Z klovett quit (Remote host closed the connection) 2018-11-29T08:47:04Z ManDay: so instead of writing (+ 1 (expt 2 x)) in all the defines, I want to have that in a single var 2018-11-29T08:47:45Z Zipheir: And x is determined at runtime? 2018-11-29T08:48:07Z ManDay: Zipheir: not really, no. but for the sake of the argument assume it were 2018-11-29T08:48:19Z ManDay: (it's a kind of configuration variable) 2018-11-29T08:48:24Z Zipheir: Right. 2018-11-29T08:48:52Z Zipheir: So (define x #f) and (set! x (+ 1 (expt 2 x))) should do it, no? 2018-11-29T08:49:08Z ManDay: Zipheir: yes, that's what I'd expect a macro to expand to 2018-11-29T08:49:17Z Zipheir: Sorry, (set! my-global-val (+ 1 (expt 2 x))) 2018-11-29T08:49:29Z ManDay: well, kinda... 2018-11-29T08:50:08Z ManDay: more like (define f #f) (define g #f) (let ((y (+ (expt 2 x) 1))) (set! f ...) (set! g ...)) 2018-11-29T08:50:32Z ManDay: i'd just would like to write a macro which makes the original expression work by redefining let 2018-11-29T08:50:50Z ManDay: (that is, with my macro definition typing (let ((local1 #f) (local2 #t)) (define x (cons local1 local2))) should work "as expected") 2018-11-29T08:50:59Z Zipheir: So essentially you have some config variables, and other variables which are set from those config vars. 2018-11-29T08:51:22Z ManDay: Zipheir: s/other variables/other variables and procedures/ 2018-11-29T08:51:28Z ManDay: yes 2018-11-29T08:53:16Z Zipheir: You could write a procedure that takes the configuration variables to a record whose slots are all the "configured" values. 2018-11-29T08:54:45Z Zipheir: (let ((config (make-config v0 v1 ...))) (if (> 10 (config-widget-number config)) ...)) 2018-11-29T08:56:57Z Zipheir: But it seems like you're trying to emit all the configured values/procedures with the configuration baked-in, as it were. That might be a nightmare to debug. 2018-11-29T09:02:33Z ManDay: i don't follow. isn't your record suggestion the same as ogamita's vector suggestion? 2018-11-29T09:02:46Z pierpal quit (Read error: Connection reset by peer) 2018-11-29T09:02:54Z ManDay: my only intend here is to not pollute the namespace with auxilliary variables (not even one) 2018-11-29T09:03:15Z ManDay: of course, i could reduce the amount of pollution by putting all into a single structure, but that's not really my point 2018-11-29T09:08:55Z Zaab1t joined #scheme 2018-11-29T09:10:38Z Zipheir: Yes, I suppose it is the same as ogamita's suggestion, or at least the result is the same in terms of the number of variables it introduces. 2018-11-29T09:11:25Z Zipheir: Do you have a paste of what you've got so far? 2018-11-29T09:12:17Z ManDay: of what? of the macro? I haven't started writing that. i suppose practically it will be a waste of effort (2 hours figuring it out vs. one variable remove from global ns) 2018-11-29T09:12:50Z ManDay: if I need, i can go down the set! route anyway 2018-11-29T09:13:04Z Zipheir: That's probably the simplest way. 2018-11-29T09:13:09Z ManDay: it's just I'd like generally to be able to write (let ((local1 #f) (local2 #t)) (define x (cons local1 local2))) 2018-11-29T09:13:32Z ManDay: i don't see why it shouldn't be necessary or why (defines) can't make up a valid let-body 2018-11-29T09:13:40Z ManDay: s/necessary/possible 2018-11-29T09:15:06Z Zipheir: They do? Internal defines are part of the standard. But you mean wrapping top-level defines in let, right? 2018-11-29T09:16:44Z Zipheir: Incidentally, that (let ((local1 #f) ...) (define x ...)) expression compiles fine in CHICKEN. 2018-11-29T09:16:48Z ManDay: yeah. well... if you call em that, it's like "by definition". never heard of internal defines, tho 2018-11-29T09:17:03Z ManDay: oh well, maybe I should go for chicken then 2018-11-29T09:17:16Z wasamasa: it's not standards-compliant though and they have a few bugs around it 2018-11-29T09:17:30Z wasamasa: like, if the define isn't the first thing in the let body, things can break 2018-11-29T09:17:39Z Zipheir: Right. 2018-11-29T09:18:05Z ManDay: i suppose that's fair. defines are more like define!s 2018-11-29T09:19:03Z wasamasa: https://bugs.call-cc.org/ticket/1309 2018-11-29T09:19:12Z wasamasa: https://bugs.call-cc.org/ticket/1294 2018-11-29T09:20:54Z Zipheir: Internal defines are somewhat gross. 2018-11-29T09:22:26Z Zipheir: It's super late here. Good