2020-03-01T00:04:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-01T00:11:34Z X-Scale` joined #scheme 2020-03-01T00:12:18Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-01T00:12:20Z X-Scale` is now known as X-Scale 2020-03-01T00:12:34Z jcowan: aeth: I am here but not feeling well 2020-03-01T00:12:55Z jcowan: is there a proper name yet? 2020-03-01T00:14:09Z aeth: Currently, I have it in a private repository without an official name 2020-03-01T00:14:25Z jcowan: oh, okay, thought the name was going to be released today as well 2020-03-01T00:14:51Z aeth: yes, but not in time for midnight UTC 2020-03-01T00:15:03Z jcowan: so it can become "The Scheme formerly known as cl-scheme" 2020-03-01T00:15:07Z aeth: This pattern matching language is pretty difficult. 2020-03-01T00:16:07Z jcowan: one of the things I love about Pure (not a Lisp, but very close) is that it basically modifies syntax-rules and case-lambda, modulo a prefixed keyword 2020-03-01T00:17:15Z luni quit (Remote host closed the connection) 2020-03-01T00:18:32Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-01T00:22:19Z oni-on-ion: pattern matching is good news 2020-03-01T00:24:59Z aeth: oni-on-ion: This is in CL, not Scheme, though. The Scheme read is not written in Scheme at the moment. 2020-03-01T00:26:07Z oni-on-ion: ah hm. but CL can do patmatch? optima 2020-03-01T00:28:28Z jao quit (Ping timeout: 256 seconds) 2020-03-01T00:36:04Z Khisanth quit (Ping timeout: 258 seconds) 2020-03-01T00:49:01Z TCZ joined #scheme 2020-03-01T00:50:04Z klovett quit (Remote host closed the connection) 2020-03-01T00:50:25Z klovett joined #scheme 2020-03-01T00:53:24Z vms14 joined #scheme 2020-03-01T00:53:29Z Khisanth joined #scheme 2020-03-01T01:04:09Z f8l quit (Remote host closed the connection) 2020-03-01T01:05:24Z f8l joined #scheme 2020-03-01T01:23:24Z aeth: I now tokenize by creating an adjustable string buffer with an initial length of 256 and SUBSEQing the valid pattern-matched range. 2020-03-01T01:25:14Z oni-on-ion: ?? 2020-03-01T01:26:43Z aeth: oni-on-ion: Parsing is usually two stages: (1) read char by char and collect into tokens (usually strings) and then (2) parse those tokens into a parse tree 2020-03-01T01:27:39Z aeth: I suppose tokens could be tagged based on which pattern they match. I've never done something this sophisticated before 2020-03-01T01:29:28Z aeth: But, essentially either a character matches, or a string of characters match, or there is no match. From there, semantics are assigned 2020-03-01T01:35:44Z vms14: aeth: which scheme implementation do you like? 2020-03-01T01:36:07Z vms14: and what do you do with scheme? 2020-03-01T01:36:55Z aeth: vms14: I don't use Scheme, I implement Scheme. 2020-03-01T01:37:16Z vms14: :O that was your "perl stuff" project? 2020-03-01T01:37:30Z vms14: have you something done yet? 2020-03-01T01:45:03Z gwatt: aeth: I think that should be the "curse of scheme" corollary to the "curse of lisp" 2020-03-01T01:47:32Z oni-on-ion: ... 2020-03-01T01:49:31Z aeth: vms14: I believe you are referring to a common language runtime idea that I've had for a long time. 2020-03-01T01:49:59Z vms14: gwatt: you mean multiple scheme implementations? 2020-03-01T01:50:18Z vms14: aeth: idk, mabe I'm even confusing you xD 2020-03-01T01:50:43Z notzmv joined #scheme 2020-03-01T01:51:04Z aeth: I was ideally going to have the reader done by Thursday or Friday, but life got in the way and I'm writing a far more abstract/general implementation of Scheme's read than I originally intended. I should be done with the tokenizer "soon". 2020-03-01T01:51:06Z gmaggior quit (Quit: Leaving) 2020-03-01T01:51:06Z TCZ quit (Quit: Leaving) 2020-03-01T01:52:40Z vms14: aeth: it's fine that you take your time in doing things instead of just getting the work done 2020-03-01T01:52:54Z aeth: right now I have this stub: (defun scheme-read (stream) (read-case (stream c) ((:range #\0 #\9) (format t "~S~%" c) (cons :digit c)) ((:range #\A #\Z) (format t "~S~%" c) (cons :alphanumeric c)) ((:range #\a #\z) (format t "~S~%" c) (cons :alphanumeric c)))) 2020-03-01T01:53:02Z aeth: I need to combine :range and :repeat and then I have a tokenizer 2020-03-01T01:53:07Z aeth: I might have to call it a night at that. 2020-03-01T01:53:13Z aeth: (I mean, once I have the tokenizer) 2020-03-01T01:54:10Z aeth: I haven't spun my utility library out of my game engine yet, but I've basically done line 539 through the end of the file: https://gitlab.com/zombie-raptor/zombie-raptor/-/blob/36563eff0dc8c863cd310f0ba7a7b3d951024f8c/util/util.lisp#L539 2020-03-01T01:54:11Z rudybot: https://teensy.info/QK6hrTx3to 2020-03-01T01:55:24Z aeth: I think all I need to do with READ-CASE now is make the totally-not-regex language composable, so I can do (:repeat (:range #\0 #\9)) and then I can do the rest of the work in the currently-private Scheme repo 2020-03-01T01:56:57Z aeth: Then I can put the READ-CASE itself into a loop until EOF (so, okay, I need to modify READ-CASE one more time to distinguish between no match and reaching the EOF) collecting the tokens 2020-03-01T01:58:14Z aeth: Now, of course, :range implicitly assumes a sane host CHAR-CODE system, which CL the standard doesn't guarantee, but I can deal with that later. Or, really, maybe I'll just not support host CLs that use things like EBCDIC, which is an evil encoding because you can't just say a-z A-Z 2020-03-01T01:58:27Z aeth: and, yes, look how evil it is: https://en.wikipedia.org/wiki/EBCDIC#Code_page_layout 2020-03-01T01:58:39Z Riastradh: You should write a little NFA language. 2020-03-01T01:59:30Z aeth: Riastradh: I'm essentially writing something that's as powerful as the appendix EBNF in r7rs.pdf 2020-03-01T01:59:45Z aeth: Riastradh: It can serve as a compilation target for something more elegant later, including literally just an EBNF 2020-03-01T02:01:03Z pjb: aeth: actually, it's very clean, and map dirrectly to Hollerith code. 2020-03-01T02:02:06Z pjb: aeth: check: https://en.wikipedia.org/wiki/EBCDIC#/media/File:Blue-punch-card-front-horiz_top-char-contrast-stretched.png 2020-03-01T02:03:02Z aeth: pjb: The important thing is that it breaks the assumptions of :range 2020-03-01T02:03:09Z aeth: Unless I manually defined my own CHAR-CODE 2020-03-01T02:03:36Z aeth: however, parsing works on char ranges so it cannot be avoided 2020-03-01T02:04:49Z pjb: aeth: clhs 13.1.6 2020-03-01T02:06:14Z aeth: pjb: yes A < B < ... < Y < Z but there could be some λ in between. 2020-03-01T02:06:21Z pjb: Yep. 2020-03-01T02:06:51Z pjb: Note that thanks to EBCDIC, all other programming language standard are like that too. 2020-03-01T02:09:26Z Riastradh: With an NFA built out of regular expressions, you can easily just write a regexp for `letters' whether or not it's consecutive... 2020-03-01T02:13:26Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-01T02:13:50Z vms14 quit (Remote host closed the connection) 2020-03-01T02:20:29Z longshi quit (Ping timeout: 272 seconds) 2020-03-01T02:20:48Z gendarme joined #scheme 2020-03-01T02:27:28Z aeth: jcowan: The name is "Airship Scheme". https://gitlab.com/mbabich/airship-scheme 2020-03-01T02:27:35Z aeth: Thanks to HN. https://en.wikipedia.org/wiki/Imperial_Airship_Scheme 2020-03-01T02:27:43Z aeth: https://news.ycombinator.com/item?id=13854921 2020-03-01T02:29:28Z zaifir: aeth: Congrats! 2020-03-01T02:29:35Z zaifir: aeth: I'm glad you kept the name. 2020-03-01T02:29:53Z aeth: zaifir: It was basically down to if "airshipscheme.com" was still available on Namecheap or not 2020-03-01T02:29:59Z aeth: (and .net/.org) 2020-03-01T02:30:01Z aeth: and it was 2020-03-01T02:30:18Z aeth: That's why the repo was initially called "Scheme" until I registered the domain. I wasn't going to take any chances. 2020-03-01T02:31:32Z jcowan: aeth: Tremendous congratulations. And yes, give it a good polish rather than rushing it out. 2020-03-01T02:31:49Z aeth: I already have huge chunks in a private cl-scheme repo that I can copy in paste while ready 2020-03-01T02:31:59Z aeth: but I've decided against doing so without testing 2020-03-01T02:32:14Z jcowan: BTW, in British English "scheme" means "plan" rather than "plot" usually, so anything that can be planned for can be called a "scheme". That's why it's better to google for "Scheme language". 2020-03-01T02:32:15Z aeth: That is, I'm going to write the reader, then I'm going to import the chibi-scheme r7rs tests, and then I'm only going to add what passes. 2020-03-01T02:35:12Z aeth: jcowan: And, yes, some of the phrases with the British usage made it across the pond, like "naming scheme" 2020-03-01T02:35:19Z aeth: and "imperial airship scheme" 2020-03-01T02:35:57Z jcowan: Is the latter really anything but the name of a particular plan? 2020-03-01T02:36:18Z aeth: jcowan: Well, yes, because now there are two "airship schemes" in English 2020-03-01T02:37:38Z aeth: Riastradh: Yes, but... 'letters' is still just going to be using a range of CHAR-CODE except when it doesn't know that the implementation is sane with its character representation anyway... so I'm fine with just using :range directly at the moment 2020-03-01T02:38:57Z aeth: jcowan: is there anything other than this at the moment? https://github.com/ashinn/chibi-scheme/blob/master/tests/r7rs-tests.scm 2020-03-01T02:42:58Z lockywolf joined #scheme 2020-03-01T02:47:28Z aeth: So what I have at the moment is something that can collect the parsed token characters into a list: https://gitlab.com/mbabich/airship-scheme/-/blob/3bc957c50976d04e34290f0cf3501845ca6d87c2/scheme-read.lisp 2020-03-01T02:47:45Z gwatt: aeth: There's also https://github.com/ecraven/r7rs-coverage 2020-03-01T02:47:50Z aeth: gwatt: thanks 2020-03-01T02:48:03Z gwatt: and his benchmarks game as well 2020-03-01T02:48:37Z aeth: So what I have right now is ((:alphanumeric . #\T) (:alphanumeric . #\h) (:alphanumeric . #\i) (:alphanumeric . #\s) (:whitespace . #\ ) (:alphanumeric . #\i) (:alphanumeric . #\s) (:whitespace . #\ ) (:alphanumeric . #\S) (:alphanumeric . #\p) (:alphanumeric . #\a) (:alphanumeric . #\r) (:alphanumeric . #\t) (:alphanumeric . #\a)) 2020-03-01T02:49:41Z aeth: The next thing I'm going to be doing is turning that into (:repeat (:or (:range #\A #\Z) (:range #\a #\z))) when I add the conditional combinations into READ-CASE which will then break that into "This" #\Space "is" #\Space "Sparta" #\Space 2020-03-01T02:49:59Z seepel joined #scheme 2020-03-01T02:50:24Z aeth: I might eventually replace this use of :RANGE with semantically portable conditional tests, but the above is the basics needed to start adding the (about 60-80% complete?) semantics. 2020-03-01T02:51:57Z jcowan: aeth: I recommend running all the Chibi tests and simply doing a RCA of what fails to see if it's a bug or a difference of opinion. 2020-03-01T02:54:57Z aeth: jcowan: RCA? 2020-03-01T02:55:10Z jcowan: Sorrry. Root-cause analysis 2020-03-01T02:55:19Z lockywolf_ joined #scheme 2020-03-01T02:55:59Z aeth: ah 2020-03-01T02:57:51Z jcowan: I just read your implementation-philosophy.md for trivial-list-pad 2020-03-01T02:57:54Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-01T02:58:35Z jcowan: Heinlein said once that any satire, however broad, would be mistaken by at least 1/3 of its audience as an attack on motherhood and apple pie. 2020-03-01T02:58:42Z jcowan: I am just not sure if I am in the 1/3 or the 2/3 here. 2020-03-01T03:02:33Z jcowan: I certainly hope that it is a satire 2020-03-01T03:07:20Z Munto joined #scheme 2020-03-01T03:07:32Z aeth: jcowan: trivial-left-pad? It got added to Quicklisp at someone's request! 2020-03-01T03:08:05Z jcowan: shm 2020-03-01T03:08:07Z jcowan: er, smh 2020-03-01T03:08:09Z aeth: years after the joke made sense, too 2020-03-01T03:08:35Z aeth: But, I mean, here I am testing my tokenizer on "This is Sparta" so maybe I'm not a currently-in-style meme expert 2020-03-01T03:08:56Z jcowan: Well, there is a brain-softening plausibility about the whole thing. Very like Swift's Modest Proposal, actually 2020-03-01T03:10:08Z aeth: I mean, it has probably been ruined by ~pull~ merge requests (it's Gitlab, not Github) since then, but the original intent was for every part of the project to be more verbose than the code itself, including the tests, the documentation, and the comments. This is at least my Lisper/Schemer impression of the typical JS library. 2020-03-01T03:16:14Z faLUCE joined #scheme 2020-03-01T03:16:54Z faLUCE: hello. Given ((foo . 1)(bar . 2)(fred . 3)) how can I pick the value for the key "fred" ? 2020-03-01T03:18:28Z aeth: That is an alist. You use assoc. (assoc 'foo '((foo . 42))) => (foo . 42) 2020-03-01T03:18:32Z aeth: From there you can just take the cdr 2020-03-01T03:21:09Z faLUCE: thnks very much aeth 2020-03-01T03:21:59Z aeth: you're welcome 2020-03-01T03:27:44Z zaifir: If you know the keys are all symbols, you can use assv or assq instead of assoc. (And thus eqv?/eq? instead of equal?) 2020-03-01T03:30:45Z zaifir: (Er, not just symbols, any Scheme objects which can be usefully compared with eqv?) 2020-03-01T03:32:46Z jcowan: Eqv? and equal? are fundamentally different; it's about identity vs. equality rather than object types. 2020-03-01T03:38:14Z seepel: Hi there, I spent some time going through some of the old r7rs mailing list archives and I encountered some discussion around including let/cc. Is there something semantically different about let/cc vs call/cc, or would it have been syntactic sugar? 2020-03-01T03:39:04Z zaifir: Yes. equal? isn't necessary for searching symbol lists, was my only point. 2020-03-01T03:40:15Z faLUCE: another question; if x == 3, how can I obtain 1.5 from x by dividing by 2? 2020-03-01T03:41:15Z Riastradh: seepel: sugar 2020-03-01T03:41:57Z faLUCE: I don't know if (/ x 2) is the right way 2020-03-01T03:42:03Z seepel: Riastradh: Thanks for confirming! 2020-03-01T03:42:08Z aeth: faLUCE: that gives you 3/2 2020-03-01T03:42:32Z faLUCE: aeth: how can I obtain 1.5 ? 2020-03-01T03:42:41Z aeth: (/ x 2.0) is the simpliest way 2020-03-01T03:43:02Z faLUCE: aeth: but 2 is an integer 2020-03-01T03:43:12Z faLUCE: (and I have a variable that stores it) 2020-03-01T03:43:52Z faLUCE: aeth: sorry 2020-03-01T03:44:01Z zaifir: (exact->inexact (/ x 2)) 2020-03-01T03:44:22Z zaifir: Or (inexact (/ x 2)) in R7. 2020-03-01T03:45:00Z faLUCE: thanks, it works 2020-03-01T03:54:11Z gravicappa joined #scheme 2020-03-01T04:37:01Z torbo joined #scheme 2020-03-01T04:40:25Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-03-01T04:42:06Z ArneBab quit (Ping timeout: 240 seconds) 2020-03-01T04:42:36Z ArneBab joined #scheme 2020-03-01T04:42:36Z ArneBab quit (Changing host) 2020-03-01T04:42:36Z ArneBab joined #scheme 2020-03-01T04:49:51Z panico quit (Read error: Connection reset by peer) 2020-03-01T04:51:13Z panico joined #scheme 2020-03-01T04:52:53Z panico quit (Read error: Connection reset by peer) 2020-03-01T04:55:37Z panico joined #scheme 2020-03-01T04:59:32Z gendarme quit (Remote host closed the connection) 2020-03-01T04:59:32Z panico quit (Read error: Connection reset by peer) 2020-03-01T05:00:43Z ggole joined #scheme 2020-03-01T05:01:09Z panico joined #scheme 2020-03-01T05:02:51Z panico quit (Read error: Connection reset by peer) 2020-03-01T05:05:10Z panico joined #scheme 2020-03-01T05:08:47Z panico quit (Read error: Connection reset by peer) 2020-03-01T05:09:09Z panico joined #scheme 2020-03-01T05:10:47Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-01T05:32:53Z aeth: Riastradh: You might be right, I might just want to take a step back and do an NFA 2020-03-01T05:33:04Z zaifir quit (Quit: Eadem mutata resurgo.) 2020-03-01T05:33:40Z aeth: The main complication is that I probably want to equate (:and #\A #\B) with "AB" so I can have an (:and (:not #\A) #\B) pattern. 2020-03-01T05:36:29Z zaifir joined #scheme 2020-03-01T05:37:40Z aeth: It's funny that after all of this wait all I'm doing is recursively complicating my lexer instead of releasing the rest of the language :-p 2020-03-01T05:38:49Z zaifir: aeth: Worse is better, release the rest of the language! 2020-03-01T05:39:12Z aeth: zaifir: Can't run the tests without the parser. I can comment out most of the tests after that, though. 2020-03-01T05:39:31Z aeth: My old tests were semantic conversions, which I don't want to have to do 2020-03-01T05:40:14Z aeth: I'll probably ignore call/cc and CPS and just do the rest initially, though. that'll save a few days 2020-03-01T05:43:19Z abralek quit (Ping timeout: 260 seconds) 2020-03-01T05:43:44Z torbo quit (Remote host closed the connection) 2020-03-01T05:46:34Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-01T05:51:11Z shakdwipeea joined #scheme 2020-03-01T05:53:13Z seepel quit (Ping timeout: 255 seconds) 2020-03-01T06:10:11Z kritixilithos joined #scheme 2020-03-01T06:11:05Z lockywolf joined #scheme 2020-03-01T06:12:23Z lockywolf quit (Remote host closed the connection) 2020-03-01T06:12:43Z lockywolf joined #scheme 2020-03-01T06:58:06Z f8l quit (Ping timeout: 240 seconds) 2020-03-01T07:02:46Z f8l joined #scheme 2020-03-01T07:20:58Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-01T07:25:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T07:39:49Z tryte quit (Remote host closed the connection) 2020-03-01T07:40:33Z tryte joined #scheme 2020-03-01T07:46:36Z kritixilithos joined #scheme 2020-03-01T08:00:27Z hugo quit (Ping timeout: 240 seconds) 2020-03-01T08:21:28Z skapata quit (Remote host closed the connection) 2020-03-01T08:21:52Z oni-on-ion joined #scheme 2020-03-01T08:36:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T08:39:40Z kritixilithos joined #scheme 2020-03-01T08:48:37Z lockywolf joined #scheme 2020-03-01T09:07:26Z gmaggior joined #scheme 2020-03-01T09:20:41Z hugh_marera joined #scheme 2020-03-01T09:20:41Z lockywolf quit (Remote host closed the connection) 2020-03-01T09:21:43Z lockywolf joined #scheme 2020-03-01T09:28:55Z sz0 joined #scheme 2020-03-01T09:39:19Z future-schemer19 joined #scheme 2020-03-01T09:39:49Z future-schemer27 joined #scheme 2020-03-01T09:40:47Z lritter joined #scheme 2020-03-01T09:41:29Z future-schemer19 quit (Remote host closed the connection) 2020-03-01T09:45:26Z future-schemer27 quit (Ping timeout: 240 seconds) 2020-03-01T09:50:47Z ngz quit (Ping timeout: 272 seconds) 2020-03-01T10:03:38Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-01T10:08:26Z xelxebar joined #scheme 2020-03-01T10:09:40Z hugh_marera left #scheme 2020-03-01T10:34:46Z TCZ joined #scheme 2020-03-01T10:46:25Z retropikzel joined #scheme 2020-03-01T10:49:23Z future-schemer27 joined #scheme 2020-03-01T10:54:06Z future-schemer27 quit (Ping timeout: 240 seconds) 2020-03-01T10:54:38Z TCZ quit (Quit: Leaving) 2020-03-01T11:10:44Z oxum quit (Read error: Connection reset by peer) 2020-03-01T11:28:26Z daviid quit (Ping timeout: 240 seconds) 2020-03-01T11:38:16Z shakdwipeea quit (Ping timeout: 256 seconds) 2020-03-01T11:40:56Z TCZ joined #scheme 2020-03-01T11:49:37Z izh_ joined #scheme 2020-03-01T11:54:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T11:54:15Z nmeum joined #scheme 2020-03-01T11:55:15Z jao joined #scheme 2020-03-01T11:55:19Z jao quit (Changing host) 2020-03-01T11:55:19Z jao joined #scheme 2020-03-01T12:02:31Z nly quit (Remote host closed the connection) 2020-03-01T12:15:55Z longshi joined #scheme 2020-03-01T12:20:41Z oxum joined #scheme 2020-03-01T12:32:18Z oni-on-ion joined #scheme 2020-03-01T12:33:09Z kritixilithos joined #scheme 2020-03-01T12:47:26Z Munto quit (Quit: Leaving) 2020-03-01T13:06:44Z shakdwipeea joined #scheme 2020-03-01T13:17:09Z davl joined #scheme 2020-03-01T13:20:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T13:47:57Z stepnem_ joined #scheme 2020-03-01T13:48:11Z stepnem quit (Ping timeout: 260 seconds) 2020-03-01T13:52:02Z lavaflow quit (Ping timeout: 240 seconds) 2020-03-01T13:52:17Z lucasb joined #scheme 2020-03-01T13:55:26Z izh_ quit (Quit: Leaving) 2020-03-01T14:00:57Z pjb quit (Ping timeout: 272 seconds) 2020-03-01T14:22:59Z zig: check this out: Python's "this" module ported to CHICKEN : https://github.com/mario-goulart/this 2020-03-01T14:23:03Z zig: this is brillant :) 2020-03-01T14:24:47Z zig: wow already v0.2 at https://github.com/johnwcowan/this/commit/d79bde89ba818b4087ae2e75be4ab16717db053c 2020-03-01T14:27:00Z kritixilithos joined #scheme 2020-03-01T14:35:11Z lockywolf quit (Remote host closed the connection) 2020-03-01T14:35:18Z mdhughes: Much improved, jcowan. The 0.1 was just pathetic. 2020-03-01T14:35:20Z luni joined #scheme 2020-03-01T14:35:39Z lockywolf joined #scheme 2020-03-01T14:36:38Z lockywolf quit (Max SendQ exceeded) 2020-03-01T14:37:07Z lockywolf joined #scheme 2020-03-01T14:39:41Z lockywolf quit (Remote host closed the connection) 2020-03-01T14:40:10Z lockywolf joined #scheme 2020-03-01T14:55:06Z lavaflow joined #scheme 2020-03-01T14:59:12Z TCZ quit (Quit: Leaving) 2020-03-01T15:22:48Z gmaggior quit (Quit: Leaving) 2020-03-01T15:30:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T15:32:47Z longshi quit (Ping timeout: 272 seconds) 2020-03-01T15:39:51Z gmaggior joined #scheme 2020-03-01T16:09:42Z gmaggior quit (Ping timeout: 256 seconds) 2020-03-01T16:28:12Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-01T16:43:36Z teardown quit (Ping timeout: 258 seconds) 2020-03-01T17:00:53Z kritixilithos joined #scheme 2020-03-01T17:07:59Z faLUCE quit (Read error: Connection reset by peer) 2020-03-01T17:11:54Z faLUCE joined #scheme 2020-03-01T17:28:57Z longshi joined #scheme 2020-03-01T17:56:34Z luni quit (Remote host closed the connection) 2020-03-01T18:16:55Z pjb joined #scheme 2020-03-01T18:19:36Z whiteline_ quit (Read error: Connection reset by peer) 2020-03-01T18:19:57Z whiteline joined #scheme 2020-03-01T18:26:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-01T18:34:19Z nly joined #scheme 2020-03-01T18:35:04Z kjak quit (Ping timeout: 255 seconds) 2020-03-01T18:42:47Z daviid joined #scheme 2020-03-01T18:46:15Z stepnem_ quit (Read error: Connection reset by peer) 2020-03-01T18:46:49Z whiteline quit (Read error: Connection reset by peer) 2020-03-01T18:46:56Z kritixilithos joined #scheme 2020-03-01T18:47:58Z whiteline joined #scheme 2020-03-01T18:48:02Z Riastradh quit (Ping timeout: 240 seconds) 2020-03-01T18:48:48Z Riastradh joined #scheme 2020-03-01T18:49:10Z stepnem joined #scheme 2020-03-01T18:50:33Z whiteline quit (Read error: Connection reset by peer) 2020-03-01T18:50:50Z whiteline joined #scheme 2020-03-01T18:52:21Z whiteline_ joined #scheme 2020-03-01T18:52:53Z whiteline quit (Read error: Connection reset by peer) 2020-03-01T18:58:24Z luni joined #scheme 2020-03-01T19:01:29Z skapata joined #scheme 2020-03-01T19:06:53Z kritixilithos quit (Quit: quit) 2020-03-01T19:21:53Z klovett quit (Remote host closed the connection) 2020-03-01T19:25:49Z hugh_marera joined #scheme 2020-03-01T19:30:51Z retropikzel quit (Quit: Leaving) 2020-03-01T19:48:22Z vyzo quit (Ping timeout: 258 seconds) 2020-03-01T20:01:37Z ggole quit (Quit: Leaving) 2020-03-01T20:14:30Z jcowan: I'm not so sure it was, mdhughes. 2020-03-01T20:15:32Z mdhughes: How is it not? He was angry that Python has an ethos, poetically expressed, as a little easter egg. So he wrote an ugly one-liner with no creativity. 2020-03-01T20:17:03Z mdhughes: It's like seeing a Shakespeare sonnet, going home and writing "BULLSHIT" on your wall, and being proud of it. 2020-03-01T20:18:04Z wasamasa: not sure I'd compare a set of contradictory "truths" to shakespeare, but ok 2020-03-01T20:19:13Z zaifir: So comparing them does have a cult-y feel to it, though. 2020-03-01T20:23:11Z mdhughes: But the sane response to someone else doing art, even if you don't agree with it, is not to go home and graffiti your own walls. 2020-03-01T20:27:34Z gravicappa quit (Ping timeout: 255 seconds) 2020-03-01T20:28:01Z zaifir: Well, I certainly prefer jcowan's version. 2020-03-01T20:30:08Z klovett joined #scheme 2020-03-01T20:30:54Z horatiohb joined #scheme 2020-03-01T20:38:45Z jcowan: wasamasa: Here's a little Shakespeare for you: "I have had a most rare vision. I have had a dream—past the wit of man to say what dream it was. Man is but an ass if he go about to expound this dream. Methought [it seemed to me] I was—there is no man can tell what. Methought I was, and methought I had—but man is but a patched fool if he will offer to say what methought I had. The eye of man hath not heard, the ear 2020-03-01T20:38:45Z jcowan: of man hath not seen, man’s hand is not able to taste, his tongue to conceive, nor his heart to report what my dream was." 2020-03-01T20:43:50Z jcowan: mdhughes: Sometimes when faced with what you think is a lot of hypocritical claptrap the Right Thing is indeed to shout "Bullshit". Since it's in the egg coop, it's public, not like writing on your own walls. 2020-03-01T20:45:28Z mdhughes: I may be the only Pythonist who's ever seen it, so it's a failure at "public shouting". 2020-03-01T20:45:56Z luni left #scheme 2020-03-01T20:46:52Z mdhughes: That would be going to the Python lists and filing tickets to remove it. Of course they'd just laugh at anyone who did and close them. 2020-03-01T20:48:29Z mdhughes: Anyway. More effort expended here than it deserves. 2020-03-01T20:59:43Z jao- joined #scheme 2020-03-01T21:01:52Z vidjuheffex joined #scheme 2020-03-01T21:03:17Z vidjuheffex: hey gang, anyone using a package manager for scheme? I've settled on using Akku for chez scheme but I'm curious what everyone's approach to shared library code is. 2020-03-01T21:05:08Z wasamasa: CHICKEN has chicken-install, haven't tried anything else 2020-03-01T21:11:50Z jao- quit (Remote host closed the connection) 2020-03-01T21:11:50Z jao quit (Remote host closed the connection) 2020-03-01T21:13:20Z vidjuheffex: never used Chicken, I should try it out sometime 2020-03-01T21:15:29Z jao joined #scheme 2020-03-01T21:18:21Z jcowan: mdhughes: I meant "public to the Chicken world", but I agree it is not worth discussing further. 2020-03-01T21:25:24Z vyzo joined #scheme 2020-03-01T21:28:03Z luni joined #scheme 2020-03-01T21:36:29Z terpri quit (Quit: Leaving) 2020-03-01T21:37:30Z TCZ joined #scheme 2020-03-01T21:53:12Z terpri joined #scheme 2020-03-01T22:04:15Z shakdwipeea quit (Ping timeout: 260 seconds) 2020-03-01T22:07:17Z tryte_ joined #scheme 2020-03-01T22:09:52Z tryte quit (Quit: _) 2020-03-01T22:32:32Z kjak joined #scheme 2020-03-01T22:33:12Z drakonis joined #scheme 2020-03-01T22:33:31Z koykots joined #scheme 2020-03-01T22:43:58Z seepel joined #scheme 2020-03-01T22:46:01Z wtfseepel joined #scheme 2020-03-01T22:49:06Z seepel quit (Ping timeout: 240 seconds) 2020-03-01T22:51:55Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-01T22:53:21Z wtfseepel quit (Quit: Leaving) 2020-03-01T22:53:59Z terpri quit (Quit: Leaving) 2020-03-01T22:54:17Z terpri joined #scheme 2020-03-01T22:56:59Z koykots quit (Quit: Lost terminal) 2020-03-01T23:13:08Z luni quit (Remote host closed the connection) 2020-03-01T23:31:31Z daviid quit (Ping timeout: 260 seconds) 2020-03-01T23:32:24Z vidjuheffex quit (Remote host closed the connection) 2020-03-01T23:40:30Z evdubs quit (Remote host closed the connection) 2020-03-01T23:40:52Z evdubs joined #scheme 2020-03-01T23:41:05Z drakonis quit (Ping timeout: 240 seconds) 2020-03-01T23:42:15Z lritter quit (Ping timeout: 260 seconds) 2020-03-01T23:44:03Z drakonis joined #scheme 2020-03-01T23:47:49Z whiteline_ quit (Ping timeout: 255 seconds) 2020-03-01T23:47:53Z sp1ff joined #scheme 2020-03-01T23:58:37Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-02T00:03:25Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-02T00:05:12Z Zenton quit (Ping timeout: 258 seconds) 2020-03-02T00:09:11Z TCZ quit (Quit: Leaving) 2020-03-02T00:11:18Z X-Scale` joined #scheme 2020-03-02T00:13:06Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-02T00:13:07Z X-Scale` is now known as X-Scale 2020-03-02T00:14:47Z jao quit (Ping timeout: 258 seconds) 2020-03-02T00:15:00Z jao joined #scheme 2020-03-02T00:15:24Z jao is now known as Guest45979 2020-03-02T00:28:35Z Guest45979 quit (Ping timeout: 258 seconds) 2020-03-02T00:29:17Z daviid joined #scheme 2020-03-02T00:32:36Z oni-on-ion quit (Remote host closed the connection) 2020-03-02T00:32:59Z oni-on-ion joined #scheme 2020-03-02T00:33:53Z jao- joined #scheme 2020-03-02T00:34:21Z jao- quit (Remote host closed the connection) 2020-03-02T00:36:18Z whiteline_ joined #scheme 2020-03-02T00:37:12Z jao- joined #scheme 2020-03-02T00:37:26Z longshi quit (Ping timeout: 256 seconds) 2020-03-02T00:41:53Z seepe1 quit (Ping timeout: 272 seconds) 2020-03-02T00:54:26Z lockywolf joined #scheme 2020-03-02T00:57:10Z hugh_marera quit (Quit: hugh_marera) 2020-03-02T01:25:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-02T01:26:42Z drakonis joined #scheme 2020-03-02T01:27:19Z xelxebar joined #scheme 2020-03-02T01:40:02Z lockywolf_ joined #scheme 2020-03-02T01:42:34Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-02T01:43:01Z daviid quit (Ping timeout: 255 seconds) 2020-03-02T01:59:55Z jao- quit (Ping timeout: 260 seconds) 2020-03-02T02:01:02Z daviid joined #scheme 2020-03-02T02:01:31Z vidjuheffex joined #scheme 2020-03-02T02:02:39Z vidjuheffex: dumb-question in coming, if their a scheme command or convention for "negative of". I need the -cosine of a number and I'm doing (* -1 (cos x)) which seems... verbose 2020-03-02T02:02:46Z vidjuheffex: *is there 2020-03-02T02:03:11Z daviid: (- (cos x)) should work 2020-03-02T02:04:25Z vidjuheffex: thanks! 2020-03-02T02:04:52Z daviid: wc! 2020-03-02T02:06:52Z jcowan: yes, that's a special case of - 2020-03-02T02:07:09Z jcowan: which is normally "difference between the first argument and the sum of the other arguments" 2020-03-02T02:09:06Z vidjuheffex: yeah, I definitely didn't reach for that. I just wasn't sure how to search it tbh 2020-03-02T02:09:34Z vidjuheffex: but seeing it, it makes sense and it's nice 2020-03-02T02:17:46Z f8l quit (Ping timeout: 240 seconds) 2020-03-02T02:24:18Z jcowan: In a Very Old Lisp I used for a while, - was an alternating (right associative) sum. So (- a) was -a, (- a b) was a-b, (- a b c) was -a + b + -c, etc. Too confusing. 2020-03-02T02:26:30Z vidjuheffex: :o 2020-03-02T02:28:06Z f8l joined #scheme 2020-03-02T02:40:24Z zaifir: That seems a bit too clever. 2020-03-02T03:14:34Z daviid quit (Ping timeout: 258 seconds) 2020-03-02T03:24:48Z daviid joined #scheme 2020-03-02T03:42:48Z mdhughes_ joined #scheme 2020-03-02T03:45:26Z mdhughes quit (Ping timeout: 240 seconds) 2020-03-02T03:56:35Z daviid quit (Ping timeout: 260 seconds) 2020-03-02T04:03:52Z gravicappa joined #scheme 2020-03-02T04:04:38Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-02T04:17:04Z lockywolf_ quit (Remote host closed the connection) 2020-03-02T04:17:31Z lockywolf_ joined #scheme 2020-03-02T04:21:43Z panico quit (Remote host closed the connection) 2020-03-02T04:23:11Z horatiohb quit (Ping timeout: 258 seconds) 2020-03-02T04:23:30Z torbo joined #scheme 2020-03-02T04:30:20Z torbo quit (Remote host closed the connection) 2020-03-02T04:46:26Z panico joined #scheme 2020-03-02T05:01:02Z skapata quit (Quit: Ĝis!) 2020-03-02T05:16:56Z oxum quit (Remote host closed the connection) 2020-03-02T05:22:38Z r3x5: what lisp is that if you don't mind me asking 2020-03-02T05:35:54Z oxum joined #scheme 2020-03-02T05:37:54Z oxum quit (Remote host closed the connection) 2020-03-02T05:38:36Z oxum joined #scheme 2020-03-02T05:46:37Z ggole joined #scheme 2020-03-02T05:56:21Z oxum_ joined #scheme 2020-03-02T05:56:21Z oxum quit (Read error: Connection reset by peer) 2020-03-02T06:05:56Z vidjuheffex quit (Remote host closed the connection) 2020-03-02T06:10:06Z oxum_ quit (Remote host closed the connection) 2020-03-02T06:10:29Z oxum joined #scheme 2020-03-02T06:34:32Z oxum quit (Remote host closed the connection) 2020-03-02T06:36:55Z oxum joined #scheme 2020-03-02T06:41:08Z kritixilithos joined #scheme 2020-03-02T06:41:44Z oxum quit (Remote host closed the connection) 2020-03-02T06:41:56Z oxum joined #scheme 2020-03-02T06:54:57Z shakdwipeea joined #scheme 2020-03-02T07:07:48Z oxum quit (Read error: Connection reset by peer) 2020-03-02T07:07:48Z oxum_ joined #scheme 2020-03-02T07:12:52Z hugh_marera joined #scheme 2020-03-02T07:12:53Z oxum_ quit (Read error: Connection reset by peer) 2020-03-02T07:13:01Z oxum joined #scheme 2020-03-02T07:15:43Z oxum quit (Read error: Connection reset by peer) 2020-03-02T07:16:05Z oxum joined #scheme 2020-03-02T07:34:32Z hugh_marera quit (Quit: hugh_marera) 2020-03-02T07:34:50Z oxum quit (Remote host closed the connection) 2020-03-02T07:40:56Z oxum joined #scheme 2020-03-02T07:44:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-02T07:46:00Z kritixilithos joined #scheme 2020-03-02T07:46:06Z oxum quit (Ping timeout: 240 seconds) 2020-03-02T08:03:18Z oxum joined #scheme 2020-03-02T08:03:24Z oxum_ joined #scheme 2020-03-02T08:03:25Z oxum quit (Remote host closed the connection) 2020-03-02T09:04:58Z cpressey joined #scheme 2020-03-02T09:05:13Z panico quit (Remote host closed the connection) 2020-03-02T09:13:59Z niklasl joined #scheme 2020-03-02T09:19:37Z daviid joined #scheme 2020-03-02T09:19:59Z Khisanth quit (Ping timeout: 260 seconds) 2020-03-02T09:32:26Z niklasl quit (Ping timeout: 240 seconds) 2020-03-02T09:32:42Z Khisanth joined #scheme 2020-03-02T09:35:39Z Zenton joined #scheme 2020-03-02T09:41:39Z longshi joined #scheme 2020-03-02T09:43:56Z peanutbutterandc joined #scheme 2020-03-02T09:43:59Z peanutbutterandc: Hello there 2020-03-02T09:44:09Z peanutbutterandc: I have a situation: 2020-03-02T09:44:50Z peanutbutterandc: I have to do '\symbol #1' a lot 2020-03-02T09:45:18Z peanutbutterandc: the documentation does shorten it to #(define sym symbol) so that I can use it as \sym 2020-03-02T09:45:40Z peanutbutterandc: however, it still makes one do '\sym #1' a lot 2020-03-02T09:46:04Z peanutbutterandc: i'd like to #(define sym1 sym #1) so as to use it as '\sym1' 2020-03-02T09:46:15Z peanutbutterandc: however, that syntax is wrong obviously. 2020-03-02T09:46:32Z peanutbutterandc: and I can't (define sym1 "sym #1") 2020-03-02T09:46:38Z peanutbutterandc: Any tips please? 2020-03-02T09:47:36Z peanutbutterandc: So it's a symbol and and argument separated by a space. 2020-03-02T09:47:40Z peanutbutterandc: probably 2020-03-02T09:47:41Z oxum joined #scheme 2020-03-02T09:48:15Z oxum_ quit (Ping timeout: 258 seconds) 2020-03-02T09:48:27Z peanutbutterandc: I need to basically define a variable to be, somehow, a collection of symbol, a space, and an argument. (I'm a n00b so my terminology probably sucks) 2020-03-02T09:49:28Z wasamasa: what kind of scheme even permits syntax like that 2020-03-02T09:49:32Z cpressey: peanutbutterandc: Sorry, but what is the meaning of the backslash in your examples? 2020-03-02T09:49:53Z oxum quit (Remote host closed the connection) 2020-03-02T09:50:34Z ecraven: looks like some sort of TeX 2020-03-02T09:52:32Z oni-on-ion: peanutbutterandc, macros, i think.. 2020-03-02T09:52:46Z wasamasa: besides, provide a full example 2020-03-02T09:52:52Z wasamasa: it doesn't make much sense otherwise 2020-03-02T09:53:30Z oni-on-ion: its just a text replacement 2020-03-02T09:54:03Z wasamasa: that I'm less sure about, otherwise it would be a case of running sed over it 2020-03-02T09:54:04Z peanutbutterandc: Sorry it's lilypond 2020-03-02T09:54:15Z wasamasa: why am I not surprised... 2020-03-02T09:54:17Z oxum joined #scheme 2020-03-02T09:54:22Z peanutbutterandc: it's lilypond 2020-03-02T09:54:31Z wasamasa: so you're mixing tex and scheme? 2020-03-02T09:54:38Z wasamasa: I have my doubts schem can help you there 2020-03-02T09:54:41Z wasamasa: *scheme 2020-03-02T09:55:06Z peanutbutterandc: https://lilypond.org/doc/v2.18/Documentation/notation/common-notation-for-fretted-strings 2020-03-02T09:55:10Z peanutbutterandc: Right Hand Fingering 2020-03-02T09:56:12Z peanutbutterandc: I could send a link to that section 2020-03-02T09:56:20Z peanutbutterandc: I could not 2020-03-02T09:56:30Z peanutbutterandc: sorry I'm blubbering today 2020-03-02T09:56:48Z peanutbutterandc: wasamasa, Lilypond uses scheme as an extension language. Guile, to be precise. 2020-03-02T09:57:02Z wasamasa: yeah, that doesn't mean that you can use it to wrestle with tex 2020-03-02T09:57:04Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-02T09:57:27Z wasamasa: might very well be that you need to add a \newcommand or what it's called 2020-03-02T09:57:41Z wasamasa: which is outside the scope of this channel 2020-03-02T09:58:28Z peanutbutterandc: wasamasa, I see. That makes sense. I was only wondering if there was something that could be used to mix in symbols with numbers and space 2020-03-02T09:58:38Z peanutbutterandc: something like (magic-function 'symbol #1) 2020-03-02T09:58:44Z peanutbutterandc: or something 2020-03-02T09:58:45Z peanutbutterandc: lol 2020-03-02T09:58:53Z ecraven: well, the question is, what does \symbol #1 actually do? 2020-03-02T09:58:56Z wasamasa: that's beyond what scheme in general provides 2020-03-02T09:58:56Z peanutbutterandc: (only a n00b could think that, in hindsight) 2020-03-02T09:59:07Z wasamasa: it's highly specific to that mix of guile and tex 2020-03-02T09:59:07Z peanutbutterandc: ecraven, it means 1st finger of the right hand 2020-03-02T09:59:20Z wasamasa: maybe you can write some guile code to emit that tex 2020-03-02T09:59:23Z peanutbutterandc: ecraven, so for the 2nd finger I have to do \symbol #2 2020-03-02T09:59:25Z wasamasa: maybe you can't and have to resort to tex 2020-03-02T09:59:45Z wasamasa: we cannot know without knowing how exactly that mix of tex and scheme compiles to tex 2020-03-02T09:59:47Z peanutbutterandc: wasamasa, lilypond probably isn't tex... it's something else. 2020-03-02T09:59:58Z wasamasa: well, it fucking looks like it 2020-03-02T09:59:58Z oxum quit (Remote host closed the connection) 2020-03-02T10:00:04Z wasamasa: it has the same issues 2020-03-02T10:00:04Z peanutbutterandc: https://en.wikipedia.org/wiki/LilyPond 2020-03-02T10:00:10Z peanutbutterandc: wasamasa, haha 2020-03-02T10:00:16Z peanutbutterandc: I love this channel 2020-03-02T10:00:35Z peanutbutterandc: It'd been a while since I'd seen a curse word in IRC. :D 2020-03-02T10:00:46Z peanutbutterandc: It sure does, BTW. 2020-03-02T10:00:56Z wasamasa: I hope it only pretends to be tex because tex is awful at anything as advanced as an if statement 2020-03-02T10:01:20Z peanutbutterandc: Backbiting Professor Knuth, are we? :D 2020-03-02T10:01:35Z peanutbutterandc: It's all right. Maybe it's just a limitation 2020-03-02T10:01:43Z wasamasa: https://www.archlinux.org/packages/community/x86_64/lilypond/ lists texlive-core as dependency 2020-03-02T10:01:57Z peanutbutterandc: I just thought that there might be a way to mix symbols and numbers 2020-03-02T10:01:59Z peanutbutterandc: hmm 2020-03-02T10:02:10Z wasamasa: again, that's a question not answered in this channel 2020-03-02T10:02:21Z wasamasa: if you have issues with list processing, sure, knock yourself out 2020-03-02T10:02:25Z peanutbutterandc: question: do most of the wizards here use arch? This is the second time I've seen arch here 2020-03-02T10:02:49Z peanutbutterandc: wasamasa, Understood. I was wondering if scheme did that as a built in feature. For the moment I will live with the limitation 2020-03-02T10:02:58Z cpressey: peanutbutterandc: fyi, there appears to be a #lilypond channel on freenode, you could ask there too 2020-03-02T10:03:15Z wasamasa: and there's of course a mailing list 2020-03-02T10:03:25Z longshi quit (Ping timeout: 255 seconds) 2020-03-02T10:03:44Z peanutbutterandc: cpressey, Yes, sir. But it's usually quiet. #scheme is pretty active. Hence. (And I am transcribing the music) 2020-03-02T10:03:52Z peanutbutterandc: But thank you. I will ask there too 2020-03-02T10:04:08Z wasamasa: scheme doesn't do a lot in the first place, everything more advanced than you need to build a compiler with is implementation-specific functionality 2020-03-02T10:04:59Z wasamasa: such as a cpp equivalent (I really hope there isn't anything having that) 2020-03-02T10:05:35Z peanutbutterandc: Since I am new to lisp, and have been told that lisp is basically magic, I still hold the belief that lisp can do everything. Hopefully someday I'll reach that level of expertise to bend things to my will :) 2020-03-02T10:05:43Z cpressey: peanutbutterandc: np. I think one of the lessons here is, if you have a Scheme question, it's really useful to mention straight away what implementation of Scheme you're using, because despite all the standardization effort there is a lot of variation. 2020-03-02T10:06:21Z cpressey: TIL Guile is used in Lilypond, anyway :) 2020-03-02T10:07:19Z peanutbutterandc: cpressey, I see. Guile is awesome. I think. I hope to be a guile wizard and extend any and every program that has guile support in the same manner as the emacs hackers have extended emacs with emacs lisp. 2020-03-02T10:07:27Z longshi joined #scheme 2020-03-02T10:07:41Z peanutbutterandc: You might also like Guix: You can even write (declare) an entire operating system in scheme. 2020-03-02T10:07:49Z peanutbutterandc: GuixSD, anyways. 2020-03-02T10:08:08Z ecraven: there have been OSes written in various Lisps before... even in Scheme ;) 2020-03-02T10:08:09Z peanutbutterandc: Or, just define your own packages using scheme. 2020-03-02T10:08:49Z peanutbutterandc: ecraven, Hmm... guix is also just a package manager (which is how I use it) that can run on top of any Linux Distro (or Hurd Distro - once that is ready). :) 2020-03-02T10:09:30Z peanutbutterandc: Here: https://guix.gnu.org/ 2020-03-02T10:12:16Z mdhughes_ is now known as mdhughes 2020-03-02T10:13:21Z oxum joined #scheme 2020-03-02T10:18:55Z oxum quit (Ping timeout: 258 seconds) 2020-03-02T10:19:26Z oxum joined #scheme 2020-03-02T10:23:46Z longshi quit (Ping timeout: 240 seconds) 2020-03-02T10:35:29Z oxum quit (Remote host closed the connection) 2020-03-02T10:37:13Z ZombieChicken quit (Quit: WeeChat 2.7.1) 2020-03-02T10:37:26Z oxum joined #scheme 2020-03-02T10:38:58Z stepnem quit (Ping timeout: 255 seconds) 2020-03-02T10:39:13Z stepnem joined #scheme 2020-03-02T10:39:20Z oxum quit (Remote host closed the connection) 2020-03-02T10:42:46Z luni joined #scheme 2020-03-02T10:43:31Z oxum joined #scheme 2020-03-02T10:45:48Z oxum quit (Remote host closed the connection) 2020-03-02T10:46:41Z lritter joined #scheme 2020-03-02T10:46:53Z oxum joined #scheme 2020-03-02T10:47:37Z DGASAU quit (Read error: Connection reset by peer) 2020-03-02T10:48:02Z oxum quit (Read error: Connection reset by peer) 2020-03-02T10:48:14Z DGASAU joined #scheme 2020-03-02T10:48:16Z oxum joined #scheme 2020-03-02T10:50:46Z alpha__ joined #scheme 2020-03-02T10:51:07Z peanutbutterandc quit (Ping timeout: 255 seconds) 2020-03-02T10:53:46Z longshi joined #scheme 2020-03-02T10:54:14Z oxum quit (Read error: Connection reset by peer) 2020-03-02T10:56:15Z alpha__ quit (Quit: Leaving) 2020-03-02T11:00:51Z v_m_v joined #scheme 2020-03-02T11:03:22Z v_m_v quit (Remote host closed the connection) 2020-03-02T11:04:50Z oxum joined #scheme 2020-03-02T11:08:40Z faLUCE quit (Read error: Connection reset by peer) 2020-03-02T11:11:02Z faLUCE joined #scheme 2020-03-02T11:12:16Z coffeeturtle joined #scheme 2020-03-02T11:13:06Z oxum quit (Remote host closed the connection) 2020-03-02T11:18:31Z oxum joined #scheme 2020-03-02T11:22:59Z oxum quit (Remote host closed the connection) 2020-03-02T11:23:58Z oxum joined #scheme 2020-03-02T11:30:54Z pippotest90 joined #scheme 2020-03-02T11:31:14Z pippotest90 left #scheme 2020-03-02T11:31:31Z v_m_v joined #scheme 2020-03-02T11:34:09Z f8l quit (Remote host closed the connection) 2020-03-02T11:35:28Z f8l joined #scheme 2020-03-02T11:43:12Z skapata joined #scheme 2020-03-02T11:49:16Z oxum quit (Read error: Connection reset by peer) 2020-03-02T11:49:21Z oxum_ joined #scheme 2020-03-02T11:49:33Z v_m_v quit (Remote host closed the connection) 2020-03-02T11:53:50Z TCZ joined #scheme 2020-03-02T12:06:41Z v_m_v joined #scheme 2020-03-02T12:08:55Z v_m_v quit (Remote host closed the connection) 2020-03-02T12:12:54Z v_m_v joined #scheme 2020-03-02T12:14:20Z v_m_v quit (Remote host closed the connection) 2020-03-02T12:15:23Z pjb quit (Ping timeout: 272 seconds) 2020-03-02T12:18:16Z v_m_v joined #scheme 2020-03-02T12:29:41Z ArthurStrong joined #scheme 2020-03-02T12:45:57Z pjb joined #scheme 2020-03-02T12:46:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-02T12:48:34Z oni-on-ion quit (Ping timeout: 255 seconds) 2020-03-02T13:06:46Z kritixilithos joined #scheme 2020-03-02T13:07:20Z jao joined #scheme 2020-03-02T13:23:33Z oxum_ quit (Read error: Connection reset by peer) 2020-03-02T13:23:56Z oxum joined #scheme 2020-03-02T13:25:38Z lucasb joined #scheme 2020-03-02T13:38:04Z oxum quit (Remote host closed the connection) 2020-03-02T13:44:32Z eli_oat joined #scheme 2020-03-02T13:46:32Z oxum joined #scheme 2020-03-02T13:48:11Z fritschy_ quit (Ping timeout: 268 seconds) 2020-03-02T13:55:53Z oxum quit (Ping timeout: 258 seconds) 2020-03-02T14:02:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-02T14:03:53Z oxum joined #scheme 2020-03-02T14:08:29Z kritixilithos joined #scheme 2020-03-02T14:14:03Z hugh_marera joined #scheme 2020-03-02T14:14:21Z v_m_v quit (Remote host closed the connection) 2020-03-02T14:16:46Z TCZ quit (Ping timeout: 255 seconds) 2020-03-02T14:16:47Z v_m_v joined #scheme 2020-03-02T14:18:47Z drakonis joined #scheme 2020-03-02T14:28:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-02T14:30:29Z kritixilithos joined #scheme 2020-03-02T14:31:55Z eli_oat quit (Ping timeout: 258 seconds) 2020-03-02T14:46:20Z TCZ joined #scheme 2020-03-02T14:51:33Z eli_oat joined #scheme 2020-03-02T14:53:36Z ArthurStrong quit (Quit: leaving) 2020-03-02T14:54:12Z TCZ quit (Quit: Leaving) 2020-03-02T15:09:55Z cpressey quit (Quit: A la prochaine.) 2020-03-02T15:19:17Z oni-on-ion joined #scheme 2020-03-02T15:25:10Z hugo- joined #scheme 2020-03-02T15:33:31Z xkapastel joined #scheme 2020-03-02T15:39:34Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-02T15:39:42Z oni-on-ion joined #scheme 2020-03-02T15:41:49Z longshi quit (Ping timeout: 255 seconds) 2020-03-02T15:43:48Z oni_on_ion joined #scheme 2020-03-02T15:43:56Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-02T15:46:12Z DGASAU quit (Read error: Connection reset by peer) 2020-03-02T15:47:04Z v_m_v quit (Read error: Connection reset by peer) 2020-03-02T15:47:55Z DGASAU joined #scheme 2020-03-02T15:50:06Z v_m_v joined #scheme 2020-03-02T15:50:13Z v_m_v quit (Remote host closed the connection) 2020-03-02T15:50:46Z v_m_v joined #scheme 2020-03-02T15:54:38Z v_m_v quit (Remote host closed the connection) 2020-03-02T15:54:51Z v_m_v joined #scheme 2020-03-02T15:58:13Z v_m_v quit (Remote host closed the connection) 2020-03-02T16:04:01Z v_m_v joined #scheme 2020-03-02T16:10:24Z sunwukong quit (Quit: Leaving) 2020-03-02T16:16:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-02T16:17:01Z v_m_v quit (Remote host closed the connection) 2020-03-02T16:17:58Z kritixilithos joined #scheme 2020-03-02T16:20:01Z v_m_v joined #scheme 2020-03-02T16:28:56Z zig: yes guix 2020-03-02T16:29:45Z zig: ecraven: guix is not an OS, it is a distro. 2020-03-02T16:30:03Z zig: I mean the kernel is still Linux 2020-03-02T16:42:14Z v_m_v quit (Remote host closed the connection) 2020-03-02T16:44:49Z luni quit (Remote host closed the connection) 2020-03-02T16:46:08Z hugh_marera quit (Quit: hugh_marera) 2020-03-02T16:46:10Z eli_oat quit (Ping timeout: 255 seconds) 2020-03-02T16:49:26Z horatiohb joined #scheme 2020-03-02T16:49:38Z aeth: I'm pretty sure I heard of one or two kernels written in (obviously extended) Scheme 2020-03-02T16:50:36Z v_m_v joined #scheme 2020-03-02T16:53:45Z zaifir: aeth: Do you remember any names? 2020-03-02T16:54:50Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-02T16:56:04Z aeth: zaifir: the one I'm thinking of had an ultra-generic name iirc 2020-03-02T16:56:06Z aeth: so unfortunately, no 2020-03-02T16:56:15Z aeth: always pick a visually interesting name! 2020-03-02T16:56:23Z oni_on_ion: ^ 2020-03-02T16:56:57Z zaifir: !!!SCHERNEL!!! is visually interesting. 2020-03-02T16:57:48Z zaifir: Well, all caps is pretty boring. 2020-03-02T16:58:16Z aeth: I mean, either the letters/sounds need to be interesting (Google) or it should have visual imagry (Apple?) 2020-03-02T16:58:21Z eli_oat joined #scheme 2020-03-02T16:59:16Z zaifir: Hmm. How did IBM ever succeed? 2020-03-02T16:59:45Z aeth: b2b 2020-03-02T17:00:12Z aeth: they were a consumer company for like a few years in the 80s with the PC before they lost control :-p 2020-03-02T17:00:13Z oni_on_ion: acronyms were hip then 2020-03-02T17:00:28Z aeth: and, yeah, every naming trend doesn't want to be like the prior generation's 2020-03-02T17:00:34Z aeth: I'm sure "IBM" was an ultra-modern name at the time 2020-03-02T17:00:41Z aeth: A name so complicated you need an acronym! 2020-03-02T17:00:46Z aeth: Just like their computers! 2020-03-02T17:00:51Z zaifir: Hah. 2020-03-02T17:01:08Z oni_on_ion: The DeskTop 6500 2020-03-02T17:01:33Z aeth: On the topic of IBM, I'm still waiting for the RPG RPG RPG, i.e. an RPG about the RPG weapon written in IBM RPG. 2020-03-02T17:01:44Z zaifir: I think it was Dijkstra who opined that no-one in the late 20th century would pay attention to an organization or idea without a TLA. 2020-03-02T17:01:50Z aeth: There's probably like 200 people in the world who know IBM RPG well enough to do it, so I always propose my idea in case someone wants to do it 2020-03-02T17:02:01Z oni_on_ion: whats a TLA =) 2020-03-02T17:02:15Z zaifir: oni_on_ion: Hint: 'TLA' is a TLA. 2020-03-02T17:02:38Z zaifir: aeth: That's a really funny idea :) 2020-03-02T17:04:44Z zig: I dont get it 2020-03-02T17:05:04Z zig: https://en.wikipedia.org/wiki/Three-letter_acronym 2020-03-02T17:05:47Z zaifir: aeth: I wonder if wasamasa has done MAL in RPG? We could then write it in a basic LISP instead of dealing with the horror that lies below. 2020-03-02T17:05:48Z aeth: Well, my joke was making a Role Playing Game about using Rocket Propelled Grenades written in IBM Report Program Generator, which is making fun of TLA name collisions. 2020-03-02T17:05:56Z aeth: and TLA is an older joke about TLAs since it's self-describing 2020-03-02T17:06:04Z klovett quit 2020-03-02T17:06:39Z aeth: More of a text adventure than a true RPG because I doubt RPG is a capable language 2020-03-02T17:07:12Z aeth: zaifir: And absolutely. Back in the 80s they made bytecode interpreters for this sort of game 2020-03-02T17:07:24Z aeth: More for portability and memory compactness, though 2020-03-02T17:08:30Z zaifir: I wonder if there's a functioning RPG compiler for *nix... 2020-03-02T17:09:06Z aeth: Oh, btw, SBCL beat me to the only way I was going to meaningfully beat SBCL in performance. Whole-file optimizations. Technically just fixing a 20 year feature regression over the Lisp it was a fork of, though... https://mstmetent.blogspot.com/2020/02/block-compilation-fresh-in-sbcl-202.html 2020-03-02T17:09:24Z aeth: So... so much for that. 2020-03-02T17:09:58Z oni_on_ion: ohhh 2020-03-02T17:10:03Z aeth: I could probably still do whole-program optimizations but all they need to do is restore the feature to take in a list of files... 2020-03-02T17:11:49Z zaifir: aeth: Is this a sticking point for your work on Airship Scheme? 2020-03-02T17:17:05Z longshi joined #scheme 2020-03-02T17:18:39Z wasamasa: zaifir: I haven't come across that one, mostly because I'm not interested in proprietary stuff 2020-03-02T17:19:01Z wasamasa: there is this though: https://github.com/worksofbarry/NetRPG 2020-03-02T17:19:54Z wasamasa: it looks about as hard as doing it in COBOL 2020-03-02T17:27:16Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-02T17:31:53Z cmatei quit (Remote host closed the connection) 2020-03-02T17:31:59Z jcowan: When the 17,576 TLAs run out, we have to go to ETLAs. 2020-03-02T17:32:36Z jcowan: Not a regression but a reluctant featurectomy, from what I read about it 2020-03-02T17:35:16Z nmeum: I have a very basic scheme question, hope you don't mind me asking this here but how do I create a pair which has a list as the second element? E.g. (42 . ()) because (cons 42 '()) returns a list not a pair 2020-03-02T17:36:36Z vms14 joined #scheme 2020-03-02T17:36:54Z whiteline_ quit (Remote host closed the connection) 2020-03-02T17:37:01Z LeoNerd: That is what a list is 2020-03-02T17:37:15Z jcowan: (42 . ()) is just another way of writing (42) 2020-03-02T17:37:20Z whiteline_ joined #scheme 2020-03-02T17:37:22Z jcowan: and vice versa 2020-03-02T17:37:58Z jcowan: A list is either the empty list (), or it is a pair whose car is anything and whose cdr is a list (recursively) 2020-03-02T17:38:19Z whiteline_ quit (Remote host closed the connection) 2020-03-02T17:38:29Z zaifir: nmeum: Are you trying to express something like the list (42 (1 2 3)) (e.g. the second element of the list is itself a list). 2020-03-02T17:38:34Z zaifir: nmeum: *? 2020-03-02T17:38:44Z nmeum: yes, that's what I am trying 2020-03-02T17:39:03Z whiteline_ joined #scheme 2020-03-02T17:39:03Z zaifir: nmeum: The simplest way would be (list 42 (list 1 2 3)) 2020-03-02T17:39:22Z zaifir: nmeum: Although it's worth working out how to do it with just cons, the elements, and '(). 2020-03-02T17:40:16Z nmeum: what confuses me is why is (cdr (list 42 (list 1 2 3))) not equal? to (cdr '(42 . (1 2 3)))? 2020-03-02T17:40:45Z zaifir: rudybot: eval (cdr (list 42 (list 1 2 3))) 2020-03-02T17:40:49Z jcowan: Because (a b) is (a . (b . ()), not (a . b) 2020-03-02T17:40:55Z rudybot: zaifir: error: with-limit: out of time 2020-03-02T17:41:13Z zaifir: rudybot: I wish you'd be helpful once in a billion years... 2020-03-02T17:41:25Z rudybot: zaifir: Heh, Goldman Sachs is giving out $5 billion in bonuses. 2020-03-02T17:42:30Z zaifir: nmeum: (cdr (list 42 (list 1 2 3))) is a list of list. (cdr '(42 . (1 2 3))) ≡ (cdr '(42 1 2 3)) is just a list. 2020-03-02T17:42:35Z cmatei joined #scheme 2020-03-02T17:42:56Z nmeum: ahhhhhhhhh 2020-03-02T17:43:07Z nmeum: that makes sense 2020-03-02T17:43:09Z nmeum: thanks a lot! 2020-03-02T17:43:31Z zaifir: nmeum: You're welcome. 2020-03-02T17:51:17Z vms14: nmeum: car and cdr at first time are a bit confusing, you have to play with them 2020-03-02T17:58:01Z longshi quit (Ping timeout: 272 seconds) 2020-03-02T17:59:32Z vms14 quit (Remote host closed the connection) 2020-03-02T18:04:18Z klovett_ joined #scheme 2020-03-02T18:05:38Z drakonis joined #scheme 2020-03-02T18:27:26Z eli_oat quit (Ping timeout: 240 seconds) 2020-03-02T18:30:41Z eli_oat joined #scheme 2020-03-02T18:37:34Z DKordic joined #scheme 2020-03-02T18:43:15Z kritixilithos quit (Quit: quit) 2020-03-02T18:47:55Z Zenton quit (Ping timeout: 260 seconds) 2020-03-02T18:51:54Z vms14 joined #scheme 2020-03-02T19:01:42Z cmatei quit (Remote host closed the connection) 2020-03-02T19:09:32Z cmatei joined #scheme 2020-03-02T19:19:37Z kjak quit (Ping timeout: 255 seconds) 2020-03-02T19:24:19Z eli_oat quit (Ping timeout: 260 seconds) 2020-03-02T19:26:25Z kjak joined #scheme 2020-03-02T19:27:57Z eli_oat joined #scheme 2020-03-02T19:35:50Z sz0 joined #scheme 2020-03-02T19:41:32Z eli_oat quit (Ping timeout: 256 seconds) 2020-03-02T19:56:04Z kjak quit (Ping timeout: 255 seconds) 2020-03-02T20:07:10Z coffeeturtle quit (Quit: leaving) 2020-03-02T20:08:05Z kjak joined #scheme 2020-03-02T20:16:37Z enderby joined #scheme 2020-03-02T20:20:26Z kjak quit (Ping timeout: 240 seconds) 2020-03-02T20:22:28Z ggole quit (Quit: Leaving) 2020-03-02T20:38:21Z eli_oat joined #scheme 2020-03-02T20:43:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-02T20:46:08Z xelxebar joined #scheme 2020-03-02T20:49:00Z ngz joined #scheme 2020-03-02T20:54:46Z Zenton joined #scheme 2020-03-02T21:05:50Z oni_on_ion is now known as oni-on-ion 2020-03-02T21:22:13Z Khisanth quit (Ping timeout: 265 seconds) 2020-03-02T21:25:12Z lritter quit (Quit: Leaving) 2020-03-02T21:25:16Z Khisanth joined #scheme 2020-03-02T21:27:42Z aeth: zaifir: No, it just means I (probably) can't be faster than SBCL by compiling to SBCL. 2020-03-02T21:33:26Z gravicappa quit (Ping timeout: 240 seconds) 2020-03-02T21:33:41Z ngz quit (Remote host closed the connection) 2020-03-02T21:36:26Z TCZ joined #scheme 2020-03-02T21:40:47Z gwatt: aeth: You never know. gerbil beats out gambit by compiling to gambit 2020-03-02T21:41:48Z oni-on-ion: i think its gambit /and-or/ gerbil 2020-03-02T21:41:54Z oni-on-ion: in the benchmark. 2020-03-02T21:45:35Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-02T21:48:29Z klovett_ quit 2020-03-02T21:52:30Z jcowan: It's min(gambit, gerbil) 2020-03-02T22:04:57Z gwatt: You can still see individual results if you look at the big honking table. 2020-03-02T22:05:15Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-02T22:05:24Z gwatt: and gerbil is #1 in speed more times than gambit 2020-03-02T22:19:03Z oni-on-ion: hmmmm 2020-03-02T22:44:47Z klovett joined #scheme 2020-03-02T22:55:14Z whiteline_ quit (Ping timeout: 258 seconds) 2020-03-02T23:10:12Z whiteline_ joined #scheme 2020-03-02T23:12:43Z zaifir quit (Ping timeout: 255 seconds) 2020-03-02T23:12:57Z zaifir joined #scheme 2020-03-02T23:37:47Z Zenton quit (Ping timeout: 258 seconds) 2020-03-02T23:44:59Z eli_oat quit (Quit: The Lounge - https://thelounge.chat) 2020-03-02T23:45:22Z oni-on-ion: gerbil has scant docs 2020-03-02T23:47:17Z eli_oat joined #scheme 2020-03-02T23:53:56Z eli_oat quit (Ping timeout: 256 seconds) 2020-03-02T23:58:50Z eli_oat joined #scheme 2020-03-03T00:06:12Z Zenton joined #scheme 2020-03-03T00:07:41Z eli_oat quit (Ping timeout: 258 seconds) 2020-03-03T00:12:44Z X-Scale` joined #scheme 2020-03-03T00:13:15Z TCZ quit (Quit: Leaving) 2020-03-03T00:14:35Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-03T00:14:35Z X-Scale` is now known as X-Scale 2020-03-03T00:19:00Z X-Scale` joined #scheme 2020-03-03T00:19:43Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-03T00:19:49Z X-Scale` is now known as X-Scale 2020-03-03T00:31:11Z terpri quit (Read error: Connection reset by peer) 2020-03-03T00:35:06Z johncob_ quit (Ping timeout: 240 seconds) 2020-03-03T00:52:40Z defanor left #scheme 2020-03-03T00:53:07Z belmarca: oni-on-ion are you in #gerbil-scheme? 2020-03-03T00:53:50Z belmarca: you can ask any questions there, plus the sources are very readable and the current docs should get you started. Do you have a question in particular? 2020-03-03T00:53:57Z oni-on-ion: i've been for a few days, but it looks unlievely and unresponsive, so i loaded up the gitter page to it 2020-03-03T00:54:29Z belmarca: well the community is small so there isn't always daily talk, but ask questions and you will get answers. 2020-03-03T00:54:43Z oni-on-ion: belmarca, ah, i was looking in the FFI section. for, how to do FFI gerbil-style (the gambit docs ive done and implemented as such) 2020-03-03T00:55:12Z belmarca: one thing with scheme (IME) is that you have to be ready to put in more work than with other languages to learn it, but the reward is absolutely worth it. 2020-03-03T00:55:33Z oni-on-ion: its not easy when i have to put everything down and wait for an answer. so i moved on to other things, and the gitter is fine 2020-03-03T00:56:04Z belmarca: FFI in gerbil is mostly what it is in gambit, you don't _need_ to use gerbil idioms if you prefer the gambit ones. 2020-03-03T00:56:25Z oni-on-ion: thank you for the introduction. #here is good, and #guile - ive tried most scheme channels here, those are almost the only active ones with nicknames that i already am familiar with 2020-03-03T00:56:41Z oni-on-ion: balkamos, oh! that is about what i was to ask. that answers most any question, great! 2020-03-03T00:58:29Z belmarca: the only suggestion I can make is ask questions, and stick to using it (or any other scheme) 2020-03-03T01:00:41Z faLUCE quit (Ping timeout: 265 seconds) 2020-03-03T01:04:15Z oni-on-ion: knowing that gambit things work under/in gerbil, provides a very comfortingly and encompassing clarity , thank you 2020-03-03T01:06:27Z belmarca: you can always write pure gambit inside a `begin-foreign` if you want to. take a look at the gerbil talk here: https://github.com/gambit/gambit-at-30/tree/master/talks 2020-03-03T01:08:05Z oni-on-ion: ah nice, ty! 2020-03-03T01:08:22Z TCZ joined #scheme 2020-03-03T01:13:01Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-03T01:15:16Z faLUCE joined #scheme 2020-03-03T01:15:50Z faLUCE: hello. is there a sort of "if not def" for a scheme variable? I mean, if variable "foo" is not defined, then define it 2020-03-03T01:20:01Z DKordic: faLUCE: I don't see how that would be a good idea. Some exmples? 2020-03-03T01:20:52Z DKordic: Explicitly use a Dictionary (or however You call it). 2020-03-03T01:22:40Z DKordic: (""Associative Array"", I guess because ""Association List"" is not... ""advanced"") 2020-03-03T01:23:19Z faLUCE: DKordic: I have to meditate... 2020-03-03T01:24:23Z DKordic: Well, don't You know why ""Lexical Scope"" is called ""Lexical"", or ""Static""? 2020-03-03T01:25:56Z faLUCE: DKordic: of course I do. are there static variables in scheme? 2020-03-03T01:26:42Z faLUCE: I mean how can I declare a global variable in two scheme files? 2020-03-03T01:26:50Z DKordic: You are not even aware that you are refering to C11 definition of ""Static""!! 2020-03-03T01:27:04Z faLUCE: DKordic: yes, I have that in mind 2020-03-03T01:27:51Z DKordic: I couldn't care less about C11. 2020-03-03T01:29:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-03T01:29:26Z faLUCE: then, given file1.scm, file2.scm, how can I define a var that can be used in file1/2 even if they are not both included? 2020-03-03T01:29:52Z faLUCE: sorry: stupid question 2020-03-03T01:30:09Z faLUCE: maybe I only have to do #(define foo ...) in both files? 2020-03-03T01:30:29Z vms14 quit (Remote host closed the connection) 2020-03-03T01:31:27Z DKordic: It clearly needs to be "require"-d (""import""-ed). 2020-03-03T01:31:45Z DKordic: If it should be the same Variable. 2020-03-03T01:32:15Z faLUCE: I mean: in the same scheme file I can do #(define foo ...) twice 2020-03-03T01:37:19Z eli_oat joined #scheme 2020-03-03T01:47:27Z xelxebar joined #scheme 2020-03-03T01:50:46Z eli_oat quit (Ping timeout: 240 seconds) 2020-03-03T02:05:41Z kjak joined #scheme 2020-03-03T02:14:21Z eli_oat joined #scheme 2020-03-03T02:27:35Z TCZ quit (Quit: Leaving) 2020-03-03T02:29:39Z skapata quit (Quit: Ĝis!) 2020-03-03T02:42:12Z eli_oat quit (Quit: The Lounge - https://thelounge.chat) 2020-03-03T02:45:28Z uplime quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-03-03T02:45:59Z uplime joined #scheme 2020-03-03T03:14:35Z faLUCE quit (Quit: Konversation terminated!) 2020-03-03T03:18:08Z klovett quit (Remote host closed the connection) 2020-03-03T03:18:45Z klovett joined #scheme 2020-03-03T03:36:32Z lockywolf joined #scheme 2020-03-03T03:50:53Z deesix_ joined #scheme 2020-03-03T03:53:59Z deesix quit (Ping timeout: 272 seconds) 2020-03-03T04:44:07Z terpri joined #scheme 2020-03-03T04:58:31Z klovett quit (Remote host closed the connection) 2020-03-03T04:58:47Z klovett joined #scheme 2020-03-03T05:00:35Z gravicappa joined #scheme 2020-03-03T05:02:22Z jao quit (Ping timeout: 255 seconds) 2020-03-03T05:03:04Z terpri quit (Remote host closed the connection) 2020-03-03T05:03:20Z terpri joined #scheme 2020-03-03T05:04:51Z terpri quit (Remote host closed the connection) 2020-03-03T05:05:24Z terpri joined #scheme 2020-03-03T05:07:19Z jao joined #scheme 2020-03-03T05:08:46Z zaifir quit (Ping timeout: 240 seconds) 2020-03-03T05:09:55Z lockywolf_ joined #scheme 2020-03-03T05:11:00Z zaifir joined #scheme 2020-03-03T05:12:26Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-03T05:21:30Z panico joined #scheme 2020-03-03T05:22:50Z terpri quit (Remote host closed the connection) 2020-03-03T05:23:17Z terpri joined #scheme 2020-03-03T05:27:25Z terpri quit (Remote host closed the connection) 2020-03-03T05:27:58Z terpri joined #scheme 2020-03-03T05:32:20Z terpri quit (Remote host closed the connection) 2020-03-03T05:32:47Z terpri joined #scheme 2020-03-03T05:34:15Z titanbiscuit quit (Ping timeout: 246 seconds) 2020-03-03T05:37:47Z titanbiscuit joined #scheme 2020-03-03T05:39:22Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-03T05:40:14Z lockywolf joined #scheme 2020-03-03T05:41:20Z terpri quit (Remote host closed the connection) 2020-03-03T05:41:48Z terpri joined #scheme 2020-03-03T05:43:20Z terpri quit (Remote host closed the connection) 2020-03-03T05:56:11Z oxum quit (Remote host closed the connection) 2020-03-03T06:07:12Z hansbauer[m] joined #scheme 2020-03-03T06:10:18Z oxum joined #scheme 2020-03-03T06:11:46Z kritixilithos joined #scheme 2020-03-03T06:12:44Z oxum quit (Remote host closed the connection) 2020-03-03T06:13:25Z oxum joined #scheme 2020-03-03T06:18:09Z jao quit (Remote host closed the connection) 2020-03-03T06:21:07Z terpri joined #scheme 2020-03-03T06:21:50Z terpri quit (Remote host closed the connection) 2020-03-03T06:22:25Z terpri joined #scheme 2020-03-03T06:25:20Z terpri quit (Remote host closed the connection) 2020-03-03T06:28:57Z terpri joined #scheme 2020-03-03T06:29:51Z terpri quit (Remote host closed the connection) 2020-03-03T06:30:34Z terpri joined #scheme 2020-03-03T06:32:55Z terpri quit (Remote host closed the connection) 2020-03-03T06:33:20Z terpri joined #scheme 2020-03-03T06:34:07Z oxum quit (Remote host closed the connection) 2020-03-03T06:36:25Z terpri quit (Remote host closed the connection) 2020-03-03T06:36:44Z gioyik joined #scheme 2020-03-03T06:38:56Z terpri joined #scheme 2020-03-03T06:48:07Z nullus quit (Quit: leaving) 2020-03-03T06:52:51Z oxum joined #scheme 2020-03-03T06:57:26Z oxum quit (Ping timeout: 240 seconds) 2020-03-03T06:57:55Z ggole joined #scheme 2020-03-03T07:00:17Z oxum joined #scheme 2020-03-03T07:03:36Z lockywolf_ joined #scheme 2020-03-03T07:04:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-03T07:04:29Z tryte_ quit (Quit: _) 2020-03-03T07:04:41Z tryte joined #scheme 2020-03-03T07:04:53Z lockywolf_ joined #scheme 2020-03-03T07:06:37Z hugh_marera joined #scheme 2020-03-03T07:06:50Z lockywolf quit (Ping timeout: 268 seconds) 2020-03-03T07:07:12Z oxum quit (Remote host closed the connection) 2020-03-03T07:08:10Z oxum joined #scheme 2020-03-03T07:12:40Z oxum quit (Remote host closed the connection) 2020-03-03T07:20:59Z oxum joined #scheme 2020-03-03T07:24:27Z oxum quit (Remote host closed the connection) 2020-03-03T07:25:57Z lockywolf__ joined #scheme 2020-03-03T07:26:56Z lockywolf__ quit (Remote host closed the connection) 2020-03-03T07:28:44Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-03T07:32:57Z oxum joined #scheme 2020-03-03T07:33:37Z mdhughes: If they're different libraries/modules then each has its own namespace, except what's exported. 2020-03-03T07:34:07Z oxum quit (Remote host closed the connection) 2020-03-03T07:41:35Z mdhughes: Loko looks nifty, especially running bare metal: https://weinholt.se/articles/drivers-loko-scheme/ 2020-03-03T07:41:51Z mdhughes: But the AGPL license makes it basically useless for non-hobby purposes. 2020-03-03T07:43:31Z ecraven: that's a bit strongly worded.. lots of things are non-hobby and yet GPL or similar 2020-03-03T07:44:01Z ecraven: or is it specifically the A in AGPL you see a problem with? 2020-03-03T07:48:12Z mdhughes: All binaries produced with it must be under AGPL as well. 2020-03-03T07:49:40Z mdhughes: GPLv2 isn't my favorite thing, but you can do non-hobby work with it, since it doesn't claim linking binaries. 2020-03-03T07:51:20Z Riastradh: I wonder in what way AGPL `claim[s] linking binaries' that GPLv2 does not. 2020-03-03T07:59:00Z Naptra joined #scheme 2020-03-03T08:01:46Z Naptra quit (Client Quit) 2020-03-03T08:18:26Z enderby quit (Ping timeout: 240 seconds) 2020-03-03T08:21:02Z longshi joined #scheme 2020-03-03T08:28:34Z oni-on-ion quit (Remote host closed the connection) 2020-03-03T08:28:55Z oxum joined #scheme 2020-03-03T08:28:57Z oni-on-ion joined #scheme 2020-03-03T08:33:43Z oxum quit (Remote host closed the connection) 2020-03-03T08:52:20Z oxum joined #scheme 2020-03-03T08:57:29Z oxum quit (Remote host closed the connection) 2020-03-03T09:00:10Z oxum joined #scheme 2020-03-03T09:08:55Z oxum quit (Remote host closed the connection) 2020-03-03T09:12:02Z oxum joined #scheme 2020-03-03T09:16:51Z oxum quit (Ping timeout: 260 seconds) 2020-03-03T09:25:38Z horatiohb quit (Ping timeout: 240 seconds) 2020-03-03T09:27:26Z terpri quit (Ping timeout: 240 seconds) 2020-03-03T09:46:33Z skapata joined #scheme 2020-03-03T09:47:53Z eli_oat joined #scheme 2020-03-03T09:52:31Z oxum joined #scheme 2020-03-03T09:55:08Z gioyik quit (Quit: WeeChat 2.7) 2020-03-03T10:02:40Z v_m_v joined #scheme 2020-03-03T10:03:49Z oxum quit (Remote host closed the connection) 2020-03-03T10:04:06Z oxum joined #scheme 2020-03-03T10:14:55Z oxum quit (Read error: Connection reset by peer) 2020-03-03T10:15:11Z oxum joined #scheme 2020-03-03T10:20:42Z eli_oat9 joined #scheme 2020-03-03T10:23:33Z eli_oat quit (Ping timeout: 268 seconds) 2020-03-03T10:24:37Z eli_oat9 quit (Client Quit) 2020-03-03T10:30:57Z hugh_marera quit (Quit: hugh_marera) 2020-03-03T10:43:03Z oxum quit (Read error: Connection reset by peer) 2020-03-03T10:43:16Z oxum joined #scheme 2020-03-03T10:43:36Z oxum quit (Remote host closed the connection) 2020-03-03T10:47:06Z oxum joined #scheme 2020-03-03T10:49:46Z oxum quit (Remote host closed the connection) 2020-03-03T10:56:44Z siraben quit (Quit: killed) 2020-03-03T10:56:44Z Ericson2314 quit (Quit: killed) 2020-03-03T10:56:45Z Gnuxie[m] quit (Quit: killed) 2020-03-03T10:56:45Z mbakke quit (Quit: killed) 2020-03-03T10:56:47Z hansbauer[m] quit (Quit: killed) 2020-03-03T10:56:48Z spectrumgomas[m] quit (Quit: killed) 2020-03-03T10:57:03Z keep-learning[m] quit (Quit: killed) 2020-03-03T10:57:14Z pablo[m] quit (Quit: killed) 2020-03-03T10:59:54Z coffeeturtle joined #scheme 2020-03-03T11:05:28Z v_m_v quit (Remote host closed the connection) 2020-03-03T11:09:44Z longshi quit (Ping timeout: 256 seconds) 2020-03-03T11:12:31Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-03T11:13:34Z v_m_v joined #scheme 2020-03-03T11:18:54Z spectrumgomas[m] joined #scheme 2020-03-03T11:19:03Z skapata quit (Quit: Ĝis!) 2020-03-03T11:27:21Z Gnuxie[m] joined #scheme 2020-03-03T11:27:21Z siraben joined #scheme 2020-03-03T11:27:22Z mbakke joined #scheme 2020-03-03T11:27:22Z keep-learning[m] joined #scheme 2020-03-03T11:27:22Z Ericson2314 joined #scheme 2020-03-03T11:27:27Z hansbauer[m] joined #scheme 2020-03-03T11:27:35Z pablo[m] joined #scheme 2020-03-03T11:28:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-03T11:37:53Z kritixilithos joined #scheme 2020-03-03T11:50:39Z v_m_v_ joined #scheme 2020-03-03T11:53:38Z v_m_v quit (Ping timeout: 245 seconds) 2020-03-03T12:02:09Z longshi joined #scheme 2020-03-03T12:03:43Z v_m_v_ quit (Remote host closed the connection) 2020-03-03T12:07:20Z RRedcroft joined #scheme 2020-03-03T12:17:03Z test joined #scheme 2020-03-03T12:17:18Z test: how can I teel to my file to use pretty big scheme 2020-03-03T12:17:25Z test is now known as Guest68553 2020-03-03T12:17:36Z Guest68553: I'm using drracket but I would like to compile/interpret from command line 2020-03-03T12:21:56Z oxum joined #scheme 2020-03-03T12:22:01Z v_m_v joined #scheme 2020-03-03T12:28:24Z Guest68553: exit 2020-03-03T12:28:26Z Guest68553 quit (Quit: leaving) 2020-03-03T12:28:57Z marusich joined #scheme 2020-03-03T12:29:51Z oxum quit (Remote host closed the connection) 2020-03-03T12:31:02Z marusich quit (Client Quit) 2020-03-03T12:34:01Z xkapastel joined #scheme 2020-03-03T12:45:53Z mdhughes: guest: racket is the command-line version. 2020-03-03T12:47:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-03T12:48:21Z jao joined #scheme 2020-03-03T12:52:30Z TCZ joined #scheme 2020-03-03T12:54:08Z kritixilithos joined #scheme 2020-03-03T12:57:03Z lucasb joined #scheme 2020-03-03T13:04:08Z lritter joined #scheme 2020-03-03T13:10:44Z TCZ quit (Quit: Leaving) 2020-03-03T13:22:46Z oxum joined #scheme 2020-03-03T13:28:06Z longshi: rudybot: eval (cdr (list 42 (list 1 2 3))) 2020-03-03T13:28:10Z rudybot: longshi: your sandbox is ready 2020-03-03T13:28:11Z rudybot: longshi: ; Value: '((1 2 3)) 2020-03-03T13:28:41Z longshi: zaifir: hmm, so it works now 2020-03-03T13:29:01Z oxum quit (Remote host closed the connection) 2020-03-03T13:30:44Z TCZ joined #scheme 2020-03-03T13:31:09Z RRedcroft quit (Remote host closed the connection) 2020-03-03T13:32:49Z deesix_ is now known as deesix 2020-03-03T13:42:39Z v_m_v_ joined #scheme 2020-03-03T13:45:49Z v_m_v quit (Ping timeout: 268 seconds) 2020-03-03T13:51:53Z eli_oat9 joined #scheme 2020-03-03T13:52:17Z eli_oat9 quit (Client Quit) 2020-03-03T13:52:45Z eli_oat joined #scheme 2020-03-03T14:02:05Z oxum joined #scheme 2020-03-03T14:03:32Z hugo- is now known as hugo 2020-03-03T14:03:49Z oxum quit (Read error: Connection reset by peer) 2020-03-03T14:04:01Z oxum joined #scheme 2020-03-03T14:09:08Z oxum_ joined #scheme 2020-03-03T14:09:11Z oxum_ quit (Read error: Connection reset by peer) 2020-03-03T14:12:57Z oxum quit (Ping timeout: 268 seconds) 2020-03-03T14:21:50Z oxum joined #scheme 2020-03-03T14:32:21Z v_m_v_ quit (Remote host closed the connection) 2020-03-03T14:32:56Z v_m_v joined #scheme 2020-03-03T14:37:28Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-03T14:46:20Z skapata joined #scheme 2020-03-03T14:55:27Z longshi quit (Read error: Connection reset by peer) 2020-03-03T15:02:49Z TCZ quit (Quit: Leaving) 2020-03-03T15:04:03Z pjb quit (Ping timeout: 272 seconds) 2020-03-03T15:06:16Z eli_oat quit (Ping timeout: 255 seconds) 2020-03-03T15:09:14Z eli_oat joined #scheme 2020-03-03T15:09:26Z shakdwipeea quit (Ping timeout: 240 seconds) 2020-03-03T15:26:09Z eli_oat quit (Ping timeout: 258 seconds) 2020-03-03T15:28:34Z edgar-rft quit (Quit: Leaving) 2020-03-03T15:36:16Z whiteline_ quit (Remote host closed the connection) 2020-03-03T15:36:47Z whiteline_ joined #scheme 2020-03-03T15:38:26Z kori quit (Ping timeout: 240 seconds) 2020-03-03T15:39:43Z pjb joined #scheme 2020-03-03T15:40:52Z TempeVolcano joined #scheme 2020-03-03T15:43:27Z hugh_marera joined #scheme 2020-03-03T15:53:36Z ecraven quit (Quit: bye) 2020-03-03T15:53:56Z skapata quit (Remote host closed the connection) 2020-03-03T15:54:10Z ecraven joined #scheme 2020-03-03T16:00:15Z eli_oat joined #scheme 2020-03-03T16:00:26Z eli_oat quit (Client Quit) 2020-03-03T16:00:51Z eli_oat joined #scheme 2020-03-03T16:15:01Z drakonis joined #scheme 2020-03-03T16:18:37Z coffeeturtle quit (Quit: leaving) 2020-03-03T16:20:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-03T16:23:20Z kritixilithos joined #scheme 2020-03-03T16:25:41Z eli_oat quit (Quit: The Lounge - https://thelounge.chat) 2020-03-03T16:33:52Z eli_oat joined #scheme 2020-03-03T16:45:39Z eli_oat quit (Quit: The Lounge - https://thelounge.chat) 2020-03-03T16:56:06Z GilbertVolcano joined #scheme 2020-03-03T16:58:51Z TempeVolcano quit (Ping timeout: 260 seconds) 2020-03-03T16:59:23Z TempeVolcano joined #scheme 2020-03-03T16:59:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-03T17:01:55Z GilbertVolcano quit (Ping timeout: 268 seconds) 2020-03-03T17:03:10Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-03T17:03:35Z oni_on_ion joined #scheme 2020-03-03T17:05:36Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-03T17:09:05Z oni_on_ion is now known as oni-on-ion 2020-03-03T17:22:37Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-03T17:23:06Z GilbertVolcano joined #scheme 2020-03-03T17:25:14Z TempeVolcano quit (Ping timeout: 240 seconds) 2020-03-03T17:29:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-03T17:31:00Z xelxebar joined #scheme 2020-03-03T17:35:10Z oni_on_ion joined #scheme 2020-03-03T17:35:30Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-03T17:36:44Z GilbertVolcano quit (Remote host closed the connection) 2020-03-03T17:37:11Z GilbertVolcano joined #scheme 2020-03-03T17:41:12Z oni_on_ion is now known as oni-on-ion 2020-03-03T17:47:40Z klovett quit 2020-03-03T18:01:35Z xkapastel joined #scheme 2020-03-03T18:06:04Z edgar-rft joined #scheme 2020-03-03T18:06:06Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-03-03T18:07:01Z oni-on-ion joined #scheme 2020-03-03T18:22:45Z zig: it seems like keyword arguments discussion re-started. 2020-03-03T18:22:52Z zig: SRFI-177 2020-03-03T18:24:02Z Riastradh: ...use Racket semantics... 2020-03-03T18:24:18Z zig: IMHO programming-in-the-large, performance, scripting do not intersect. 2020-03-03T18:25:01Z zig: that is if we drop the requirement of performance for keyword arguments, what would be the result. 2020-03-03T18:25:24Z Riastradh: Racket keyword arguments are better because the semantics is clearer and less error-prone. 2020-03-03T18:25:36Z zig: I will read on racket keyword. 2020-03-03T18:25:39Z Riastradh: (Improved performance is a bonus on top.) 2020-03-03T18:26:29Z klovett joined #scheme 2020-03-03T18:26:37Z kritixilithos joined #scheme 2020-03-03T18:26:46Z zig: With racket, keywords are disjoint types? 2020-03-03T18:27:06Z zig: It looks like guile keywords. 2020-03-03T18:27:45Z Riastradh: Doesn't really matter how they're represented at run-time but the point is that they're syntactically distinct, so if you write (f x y z) you are _guaranteed_ not to accidentally pass a keyword argument to f, and if you write (f x #:y z) you are _guaranteed_ not to accidentally pass a positional argument where you meant to pass a named one. 2020-03-03T18:29:26Z drakonis joined #scheme 2020-03-03T18:29:32Z jcowan: What sets keywords apart in Racket and Kawa is that they are not only syntactically distinct, they are not expressions. In Guile they are also #:foo, but they are still expressions. 2020-03-03T18:29:42Z jcowan: '#:foo is an expression, though 2020-03-03T18:31:45Z kritixilithos quit (Quit: quit) 2020-03-03T18:39:08Z Riastradh: Yes -- it's not just the run-time objects that are syntactically distinct, but the procedure call notation itself. 2020-03-03T18:48:28Z zig: IMO chibi's let-optional and let-keywords are better than other approaches I read about. The only problem with chibi's approach is performance which does not matter when scripting or programming in the large. 2020-03-03T18:48:30Z zig: https://github.com/ashinn/chibi-scheme/blob/master/lib/chibi/optional.scm 2020-03-03T18:48:52Z DGASAU quit (Read error: Connection reset by peer) 2020-03-03T18:49:19Z zig: the other problem of let-optional and let-keywords is that it does not look like other programming languages keyword support. 2020-03-03T18:49:21Z DGASAU joined #scheme 2020-03-03T18:49:40Z zig: Still, it is a good example of macro use. 2020-03-03T18:51:39Z TempeVolcano joined #scheme 2020-03-03T18:52:17Z luni joined #scheme 2020-03-03T18:54:18Z GilbertVolcano quit (Ping timeout: 258 seconds) 2020-03-03T18:55:02Z zaifir: zig: I like let-optional and let-keywords, and they are lighter-weight than switching one's Scheme to Racket semantics. 2020-03-03T18:55:52Z zaifir: zig: And, FWIW, Scheme things generally do not look like analogous things in "other programming languages". 2020-03-03T18:56:36Z TempeVolcano quit (Ping timeout: 258 seconds) 2020-03-03T18:58:02Z gwatt: A problem with chibi's optional implementation is that it will accept and discard extra arguments passed to it. 2020-03-03T19:01:54Z jao quit (Ping timeout: 265 seconds) 2020-03-03T19:07:00Z jcowan: The advantage of let-keywords is that it is portable syntax-rules. The disadvantage is that it doesn't let you exploit existing keyword systems. 2020-03-03T19:07:20Z mdhughes: zig: Chez's fast, scripted (no explicit compile phase needed), and supports big programs with libraries. 2020-03-03T19:07:28Z jcowan: SRFI 177 confines keywords to three macros: define/kw, lambda/kw, and call/kw. 2020-03-03T19:08:25Z mdhughes: Most of the Schemes do have very slow scripting, but everything with libraries/modules is fine for big programs. 2020-03-03T19:08:32Z zaifir looks up SRFI 177. 2020-03-03T19:08:50Z torbo joined #scheme 2020-03-03T19:09:20Z jcowan: This means that they don't involve deep changes to a Scheme 2020-03-03T19:10:02Z jcowan: The current call/kw syntax is agreed to be bad, but we don't have a replacement yet. 2020-03-03T19:10:35Z jcowan: The next draft (hopefully) will have a syntax-case and an explicit-renaming implementation, plus one for each existing Scheme with native keywords. 2020-03-03T19:11:57Z jcowan: (Gauche, Gambit, Bigloo, STklos, Chicken, Guile, Racket, Kawa) 2020-03-03T19:12:48Z jcowan: So it's a pretty portable piece of non-portable code 2020-03-03T19:12:55Z oni-on-ion: =) 2020-03-03T19:13:07Z mdhughes: Hm, SRFI-177 doesn't have default values. 2020-03-03T19:13:12Z zaifir: Hah, Scheme programming in a nutshell. 2020-03-03T19:13:13Z hugh_marera_ joined #scheme 2020-03-03T19:13:19Z jcowan: mdhughes: No 2020-03-03T19:13:43Z jcowan: Lassi's view is that if the default value is not #f you are doing it wrong 2020-03-03T19:14:11Z zaifir: That is Schemely. 2020-03-03T19:14:13Z jcowan: the only bad case is a boolean-valued keyword where you *might* want to default to #t in order to avoid a negation in the keyword 2020-03-03T19:14:39Z oni-on-ion: wb optional 2020-03-03T19:14:57Z hugh_marera quit (Ping timeout: 265 seconds) 2020-03-03T19:14:58Z zaifir: But the old problem of 'significant #f' rears its head... 2020-03-03T19:15:49Z jcowan: That's why CL's keywords are so complicated: it handles 100% of edge cases 2020-03-03T19:15:53Z mdhughes: The experience of other languages with keywords is that non-false/null values are super useful. 2020-03-03T19:16:08Z jcowan: (value, default, supplied?) triplets 2020-03-03T19:16:11Z zaifir: . o O (nothing) 2020-03-03T19:16:16Z jcowan: which complicate the bejesus out of your code 2020-03-03T19:16:17Z torbo quit (Remote host closed the connection) 2020-03-03T19:16:21Z mdhughes: Python, in particular, puts good defaults all over the place. 2020-03-03T19:16:42Z oni-on-ion: type inference and pattern matching are my chosen solutions 2020-03-03T19:16:51Z mdhughes: So now every function using it has to do a dance of (unless foo (set! foo useful-value)) 2020-03-03T19:17:20Z zaifir: But that's better than some language implementer deciding what 'useful-value' is for everything. 2020-03-03T19:17:46Z jcowan: My pre-SRFI for Maybe has some converters between the Just/Nothing convention, the value-or-#f convention, and the CL two-value convention of returning value and #t or else #f and #f. 2020-03-03T19:17:53Z mdhughes: No, the alternative is you have #!key (foo "default") pairs. 2020-03-03T19:18:12Z zaifir: (cond (foo => (lambda (foo) ...)) (else ... )) 2020-03-03T19:19:06Z zaifir: jcowan: Yeah, having access to maybe will be really nice. 2020-03-03T19:19:25Z zaifir: (I mean portably, of course. It's pretty easy to roll up.) 2020-03-03T19:19:42Z hugh_marera_ quit (Read error: Connection reset by peer) 2020-03-03T19:20:47Z jcowan: I have a good pre-SRFI at https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/MaybeEither.md 2020-03-03T19:21:18Z jcowan: if someone wants to take a day or two to code it up, I'll push it to Art as a SRFI (full co-author credit, of course). 2020-03-03T19:21:25Z zaifir: jcowan: I have an experimental implementation of what you've written so far. 2020-03-03T19:21:32Z zaifir: jcowan: It's proved quite useful. 2020-03-03T19:21:35Z jcowan: Awesome 2020-03-03T19:21:37Z jcowan: pointer? 2020-03-03T19:22:03Z zaifir: Let me find it, one sec. 2020-03-03T19:22:19Z hugh_marera joined #scheme 2020-03-03T19:23:06Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-03T19:25:35Z zaifir: jcowan: I haven't looked at it in a while, and it probably needs polishing. http://chiselapp.com/user/Zipheir/repository/maybe-either/dir?ci=tip 2020-03-03T19:27:01Z jcowan: Nice! (I remember that I may have some code squirreled away somewhere too.) 2020-03-03T19:34:47Z zaifir: I'll make a git clone and tidy that repo up, in case anyone wants the code. 2020-03-03T19:42:52Z ggole quit (Quit: Leaving) 2020-03-03T19:43:15Z coffeeturtle joined #scheme 2020-03-03T19:44:05Z luni quit (Remote host closed the connection) 2020-03-03T19:46:01Z TempeVolcano joined #scheme 2020-03-03T19:50:55Z siraben: zaifir: I'd be interested in seeing it. 2020-03-03T19:51:38Z siraben: jcowan: Is there an SRFI for monads, more generally? 2020-03-03T19:52:30Z jcowan: A pre-SRFI at https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ContextsCowan.md 2020-03-03T19:55:31Z longshi joined #scheme 2020-03-03T20:01:06Z emacsomancer quit (Quit: WeeChat 2.7.1) 2020-03-03T20:01:36Z emacsomancer joined #scheme 2020-03-03T20:07:28Z terpri joined #scheme 2020-03-03T20:19:24Z zaifir: jcowan: Oh, you've added a lot to MaybeEither.md since I last saw it. I'll work on implementing the new procedures. 2020-03-03T20:19:33Z jcowan: Cool 2020-03-03T20:20:18Z jcowan: Not sure why you have a record type; record types and should be enough 2020-03-03T20:22:03Z zaifir: jcowan: I think that's what I had at first, then switched to a single type for some reason. Can't remember why, now. ACK, will fix. 2020-03-03T20:23:41Z zaifir: So should be a record type with no slots? 2020-03-03T20:24:28Z zaifir: Since (nothing? x) is defined as (eqv? x nothing-object), it doesn't seem to matter. 2020-03-03T20:24:58Z jcowan: Yes, a record type with no slots, so that it is disjoint from every other Scheme type. 2020-03-03T20:25:22Z jcowan: That guarantee is important, that Nothing returns #f to every type predicate except maybe? and nothing?. 2020-03-03T20:25:36Z zaifir: Right, of course. 2020-03-03T20:34:43Z androclus joined #scheme 2020-03-03T20:50:24Z ngz joined #scheme 2020-03-03T20:56:30Z luni joined #scheme 2020-03-03T20:57:10Z GilbertVolcano joined #scheme 2020-03-03T20:58:26Z TempeVolcano quit (Ping timeout: 240 seconds) 2020-03-03T21:04:11Z coffeeturtle quit (Remote host closed the connection) 2020-03-03T21:04:38Z lavaflow quit (Ping timeout: 258 seconds) 2020-03-03T21:08:45Z lavaflow joined #scheme 2020-03-03T21:09:00Z f8l quit (Remote host closed the connection) 2020-03-03T21:10:18Z f8l joined #scheme 2020-03-03T21:15:59Z androclus quit (Ping timeout: 260 seconds) 2020-03-03T21:31:45Z madage quit (Remote host closed the connection) 2020-03-03T21:32:34Z klovett quit 2020-03-03T21:33:43Z gravicappa quit (Ping timeout: 260 seconds) 2020-03-03T21:33:52Z longshi quit (Ping timeout: 268 seconds) 2020-03-03T21:37:56Z jao joined #scheme 2020-03-03T21:56:14Z madage joined #scheme 2020-03-03T21:56:26Z hugh_marera quit (Quit: hugh_marera) 2020-03-03T22:00:01Z lritter quit (Quit: Leaving) 2020-03-03T22:00:25Z lritter joined #scheme 2020-03-03T22:04:56Z hugh_marera joined #scheme 2020-03-03T22:05:29Z enderby joined #scheme 2020-03-03T22:05:57Z luni: hi all... is there in Scheme a way to access contiguous elements in a vector? ... ( just to do something like this...: u[1:] - u[0:-1] ). Thank you in advance 2020-03-03T22:07:18Z lritter quit (Ping timeout: 256 seconds) 2020-03-03T22:07:35Z luni: the question is because if it's possible i would like to use a loop if not strictly required... 2020-03-03T22:07:47Z gnomon: luni, https://srfi.schemers.org/srfi-42/srfi-42.html ? 2020-03-03T22:10:31Z zaifir: luni: The standard way would be (vector-copy start [end]) 2020-03-03T22:10:52Z zaifir: luni: Though that does indeed copy the vector. 2020-03-03T22:14:12Z klovett joined #scheme 2020-03-03T22:15:46Z terpri quit (Remote host closed the connection) 2020-03-03T22:15:59Z luni: thank you for the suggestions 2020-03-03T22:16:29Z terpri joined #scheme 2020-03-03T22:16:50Z klovett quit (Remote host closed the connection) 2020-03-03T22:17:57Z TCZ joined #scheme 2020-03-03T22:18:01Z acarrico quit (Remote host closed the connection) 2020-03-03T22:18:15Z oni-on-ion: hmm, no destructuring? or list comprehensions? 2020-03-03T22:34:35Z zaifir: SRFI 42 has been suggested. 2020-03-03T22:34:56Z zaifir: I think luni wants something like Go's slices? 2020-03-03T22:35:17Z luni: yes... 2020-03-03T22:36:40Z luni: i would like to "slice" the vector... now i'm looking at vector-ec 2020-03-03T22:37:07Z zaifir: Honestly, I think the closest Scheme thing to slices would be (vector->list vec start end). Copying the vector is too heavyweight. 2020-03-03T22:37:54Z luni: i'm not forced to use vectors... i could use list as well. 2020-03-03T22:43:26Z jcowan: luni: You can easily create your own vector-slice records containing a vector, a start, and an end (or length), though these will not be compatible with standard vectors. 2020-03-03T22:43:58Z Riastradh: oni-on-ion: https://mumble.net/~campbell/tmp/nested-foof-loop.scm https://mumble.net/~campbell/tmp/nested-foof-loop.txt 2020-03-03T22:45:39Z luni: jcowan, do you think this possible solution is good enough? ... (vector-ec (:range i 1 9) (- (vector-ref v i) (vector-ref v (- i 1)))) 2020-03-03T22:46:18Z luni: v was defined as (define v (vector-unfold values 10)) 2020-03-03T22:46:43Z jcowan: All that is is syntactic sugar for looping over the vector 2020-03-03T22:47:01Z jcowan: not slicing it in the Go sense 2020-03-03T22:47:01Z luni: mmh 2020-03-03T22:47:10Z luni: so what i have to do? 2020-03-03T22:49:10Z wasamasa: Write some Scheme code where you create a data structure with shared subsequences 2020-03-03T22:49:22Z wasamasa: Otherwise it's pointless 2020-03-03T22:52:04Z wasamasa: The reason for the pervasive use of slices in Go is due to them being lightweight and sharing the same memory as the array/string they refer to 2020-03-03T22:53:05Z ArthurStrong joined #scheme 2020-03-03T22:53:23Z luni: wasamasa: do you mean something like this: ((i0 i1) (i2 i3)...) for the example u[1:] - u[0:-1] ? 2020-03-03T22:53:37Z klovett joined #scheme 2020-03-03T22:53:40Z wasamasa: I don't mean any particular syntax 2020-03-03T22:54:30Z pilne joined #scheme 2020-03-03T22:54:49Z wasamasa: There should be some SRFIs for alternative string manipulation interfaces where you iterate on chunks or using cursors 2020-03-03T22:55:24Z wasamasa: There's also implementation specific functionality, like shared SRFI-4 arrays in CHICKEN 2020-03-03T22:58:57Z wasamasa: Then there's Lisp implementations with pervasive use of persistent immutable data structures, like Clojure, you might get the effect for free there 2020-03-03T23:00:20Z wasamasa: http://clojuredocs.org/clojure.core/subvec 2020-03-03T23:00:47Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-03T23:01:23Z zaifir: wasamasa: SRFI 135 2020-03-03T23:01:44Z wasamasa: If you don't care about efficiency, just use take and drop from SRFI-1 2020-03-03T23:04:31Z luni: yes for strings there is substring str start [end]... i was asking if there is something of similar for numerical vectors 2020-03-03T23:05:32Z zaifir: luni: It's vector-copy. But you really want something like subtext or the old substring/shared, which doesn't copy the underlying data. That's tricky with vectors, since they're mutable. 2020-03-03T23:06:00Z luni: ok... it's clear 2020-03-03T23:08:34Z luni: thank you all 2020-03-03T23:08:40Z luni quit (Remote host closed the connection) 2020-03-03T23:08:45Z zaifir: luni: It's not actually tricky. As jcowan says, you can pretty easily create a slice library. It's just not in standard scheme. 2020-03-03T23:08:48Z zaifir: Dang. 2020-03-03T23:09:36Z oni-on-ion: Riastradh, ehhh =) 2020-03-03T23:13:22Z skapata joined #scheme 2020-03-03T23:15:38Z jcowan: Someone (not me!) could clone SRFI 135 and change it from immutable character sequences (called texts) to general ones. Unless you nail down exactly when things are shared and when they aren't, though, you can't make them mutable. SRFI 135 has a maximum guarantee for sharing, but that's all. 2020-03-03T23:32:43Z GilbertVolcano quit (Ping timeout: 260 seconds) 2020-03-03T23:45:07Z TCZ quit (Quit: Leaving) 2020-03-03T23:58:18Z xelxebar quit (Remote host closed the connection) 2020-03-04T00:02:13Z daviid quit (Ping timeout: 255 seconds) 2020-03-04T00:06:39Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-04T00:06:41Z xelxebar joined #scheme 2020-03-04T00:07:54Z klovett_ joined #scheme 2020-03-04T00:08:04Z klovett quit (Ping timeout: 255 seconds) 2020-03-04T00:09:21Z ngz quit (Ping timeout: 272 seconds) 2020-03-04T00:11:19Z hugh_marera quit (Quit: hugh_marera) 2020-03-04T00:18:46Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-04T00:23:04Z X-Scale` joined #scheme 2020-03-04T00:23:54Z X-Scale` is now known as X-Scale 2020-03-04T00:43:24Z pilne_ joined #scheme 2020-03-04T00:45:03Z pilne quit (Ping timeout: 258 seconds) 2020-03-04T01:10:39Z pilne_ is now known as pilne 2020-03-04T01:11:37Z daviid joined #scheme 2020-03-04T01:16:42Z johncob joined #scheme 2020-03-04T01:20:04Z X-Scale quit (Ping timeout: 255 seconds) 2020-03-04T01:21:45Z X-Scale` joined #scheme 2020-03-04T01:22:15Z X-Scale` is now known as X-Scale 2020-03-04T01:30:42Z oxum quit (Quit: Leaving...) 2020-03-04T01:40:46Z DGASAU quit (Ping timeout: 255 seconds) 2020-03-04T01:41:06Z DGASAU` joined #scheme 2020-03-04T01:42:22Z drakonis1 joined #scheme 2020-03-04T01:53:14Z tdammers quit (Ping timeout: 240 seconds) 2020-03-04T01:56:16Z tdammers joined #scheme 2020-03-04T01:57:53Z jao quit (Ping timeout: 258 seconds) 2020-03-04T01:59:29Z oxum joined #scheme 2020-03-04T02:08:13Z lockywolf_ joined #scheme 2020-03-04T02:09:04Z lockywolf_: jcowan, r7rs.pdf's index is off by one page in many cases. 2020-03-04T02:09:35Z lockywolf_: for example, the entries for memq and memv point to page 42, whereas in reality they are on page 43 2020-03-04T02:10:26Z Riastradh: lockywolf_: Are you going by the page numbers printed on the document or by the index into the sequence of PDF pages? The former may be offset by a roman-numbered page in the front matter. 2020-03-04T02:10:32Z epony quit (Ping timeout: 258 seconds) 2020-03-04T02:11:07Z lockywolf_: Riastradh, in r7rs.pdf there are no roman numerals 2020-03-04T02:12:10Z lockywolf_: also, the index is not _consistently_ wrong. for example, list-ref is on the page 42, and the index correctly recognizes this 2020-03-04T02:12:57Z oni-on-ion: this seems a common issue with most if not all PDFs ive come across. worse is the OCR ones 2020-03-04T02:13:24Z oni-on-ion: PDF designers could have made indexes dynamic, like links. 2020-03-04T02:14:15Z Riastradh: I sit corrected, then. Someone didn't iterate latex to a fixed point in page numbering? 2020-03-04T02:15:16Z lockywolf_: What does "I sit correct" mean? 2020-03-04T02:16:28Z jcowan: lockywolf_: The phrase "I stand corrected" means "I accept the truth of what you say", but Riastradh is sitting, not standing. It's a joke. 2020-03-04T02:19:06Z lockywolf_: Maybe this should be added to the errata then? 2020-03-04T02:19:38Z lockywolf_: (thanks for explaining the meaning, I'm too ignorant in English) 2020-03-04T02:26:43Z lockywolf_: Or maybe the pdf can be rebuilt? 2020-03-04T02:27:24Z acarrico joined #scheme 2020-03-04T02:27:57Z oni-on-ion: i am not sure i've ever even *seen* a PDF where the page numbers line up 2020-03-04T02:38:09Z jcowan: I suspect it's a bug in LaTeX. Generally speaking the hyperlinks are better, inless you are looking at paper. The Makefile does run the process twice. 2020-03-04T02:38:35Z lockywolf__ joined #scheme 2020-03-04T02:38:42Z Riastradh: jcowan: Twice is not always enough. 2020-03-04T02:38:52Z Riastradh: Gotta run it until `references may have changed' stops appearing in the .aux or .log file. 2020-03-04T02:39:18Z jcowan: Not my pidgin, actually; foof was responsible for production. 2020-03-04T02:39:45Z jcowan: qua both chair and sole member of the production subcommittee 2020-03-04T02:39:56Z Riastradh: (Once you know the page numbers of a reference, inserting them into the document may change the line breaks which may change the page breaks which may change the page numbering, so you may have to do it again, and iterate to a fixed point.) 2020-03-04T02:40:05Z edgar-rft: let's write a specification how pages must be numbered 2020-03-04T02:40:59Z Riastradh: Is foof still chair of (and equal to the) production committee? 2020-03-04T02:41:12Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-04T02:47:19Z notzmv quit (Ping timeout: 260 seconds) 2020-03-04T02:56:57Z chookduck joined #scheme 2020-03-04T03:02:43Z lavaflow quit (Ping timeout: 260 seconds) 2020-03-04T03:06:12Z lavaflow joined #scheme 2020-03-04T03:20:17Z ArthurStrong quit (Quit: leaving) 2020-03-04T03:22:01Z androclus joined #scheme 2020-03-04T03:27:43Z chookduck quit (Remote host closed the connection) 2020-03-04T03:37:09Z sarna quit (Quit: bye) 2020-03-04T03:38:00Z aos quit (Quit: leaving) 2020-03-04T03:38:22Z aos joined #scheme 2020-03-04T03:39:38Z enderby quit (Remote host closed the connection) 2020-03-04T03:41:05Z aos quit (Client Quit) 2020-03-04T03:41:15Z aos joined #scheme 2020-03-04T03:46:01Z sarna joined #scheme 2020-03-04T04:04:21Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-04T04:04:46Z androclu` joined #scheme 2020-03-04T04:05:26Z androclus quit (Ping timeout: 256 seconds) 2020-03-04T04:05:27Z zaifir quit (Ping timeout: 256 seconds) 2020-03-04T04:05:27Z Zenton quit (Ping timeout: 256 seconds) 2020-03-04T04:05:56Z notzmv joined #scheme 2020-03-04T04:06:00Z aos quit (Ping timeout: 256 seconds) 2020-03-04T04:06:02Z titanbiscuit joined #scheme 2020-03-04T04:06:49Z zaifir joined #scheme 2020-03-04T04:06:55Z aos joined #scheme 2020-03-04T04:11:53Z oni-on-ion quit (Remote host closed the connection) 2020-03-04T04:12:20Z oni-on-ion joined #scheme 2020-03-04T04:15:05Z gioyik joined #scheme 2020-03-04T04:18:34Z epony joined #scheme 2020-03-04T04:19:11Z daviid quit (Ping timeout: 265 seconds) 2020-03-04T04:19:16Z oni-on-ion quit (Remote host closed the connection) 2020-03-04T04:21:09Z oni-on-ion joined #scheme 2020-03-04T04:22:51Z gravicappa joined #scheme 2020-03-04T04:27:01Z TempeVolcano joined #scheme 2020-03-04T04:30:59Z GilbertVolcano joined #scheme 2020-03-04T04:31:59Z TempeVolcano quit (Ping timeout: 258 seconds) 2020-03-04T04:33:25Z drakonis1 quit (Quit: WeeChat 2.7.1) 2020-03-04T04:34:00Z TempeVolcano joined #scheme 2020-03-04T04:34:09Z GilbertVolcano quit (Read error: Connection reset by peer) 2020-03-04T04:35:11Z skapata quit (Remote host closed the connection) 2020-03-04T04:38:05Z TempeVolcano quit (Remote host closed the connection) 2020-03-04T04:39:09Z TempeVolcano joined #scheme 2020-03-04T04:39:47Z oxum quit (Remote host closed the connection) 2020-03-04T04:39:59Z fadein quit (Ping timeout: 268 seconds) 2020-03-04T04:40:23Z hugh_marera joined #scheme 2020-03-04T04:41:12Z TempeVolcano quit (Remote host closed the connection) 2020-03-04T04:42:54Z TempeVolcano joined #scheme 2020-03-04T04:46:02Z androclu` quit (Ping timeout: 240 seconds) 2020-03-04T04:46:36Z fadein joined #scheme 2020-03-04T04:52:41Z tdammers quit (Ping timeout: 258 seconds) 2020-03-04T04:53:00Z gioyik quit (Read error: Connection reset by peer) 2020-03-04T04:54:04Z gioyik joined #scheme 2020-03-04T04:55:06Z evdubs quit (Ping timeout: 240 seconds) 2020-03-04T04:55:58Z lockywolf__: has anyone seen a sexp parser in fortran? 2020-03-04T04:56:07Z oxum joined #scheme 2020-03-04T04:56:32Z lockywolf__: (or in Matlab, but that's unlikely) 2020-03-04T04:58:05Z oni-on-ion: https://blogs.oracle.com/javamagazine/java-14-arrives-with-a-host-of-new-features 2020-03-04T04:58:09Z oni-on-ion: oops! =) 2020-03-04T04:58:14Z oni-on-ion: https://github.com/berke/sexptran 2020-03-04T04:58:48Z evdubs joined #scheme 2020-03-04T05:01:55Z tdammers joined #scheme 2020-03-04T05:02:53Z pjb: lockywolf__: well, at least, there's flpl http://informatimago.com/articles/flpl/index.html 2020-03-04T05:03:18Z lockywolf__: oni-on-ion, someone just exposed himself ;) 2020-03-04T05:05:41Z lockywolf__: still, the sexptran seems to be good enough 2020-03-04T05:07:27Z lockywolf__: because I'm almost done with sicp, only a few relatively hard problems remain 2020-03-04T05:07:36Z lockywolf__: 5.51 included 2020-03-04T05:08:20Z lockywolf__: but I don't want to write the parser myself 2020-03-04T05:10:02Z GilbertVolcano joined #scheme 2020-03-04T05:12:43Z TempeVolcano quit (Ping timeout: 255 seconds) 2020-03-04T05:19:03Z lockywolf_ joined #scheme 2020-03-04T05:19:14Z pilne quit (Quit: Relax, its only ONES and ZEROS!) 2020-03-04T05:21:16Z oxum quit (Quit: Leaving...) 2020-03-04T05:21:56Z lockywolf joined #scheme 2020-03-04T05:22:01Z lockywolf__ quit (Ping timeout: 265 seconds) 2020-03-04T05:22:18Z oxum joined #scheme 2020-03-04T05:23:04Z oni-on-ion: lockywolf, the java URL? pasted in #lispcafe because java was mentioned in a certain context. =) 2020-03-04T05:23:14Z oni-on-ion: it happened to be on HN =) 2020-03-04T05:24:23Z lockywolf_ quit (Ping timeout: 268 seconds) 2020-03-04T05:27:23Z lockywolf: that's what she said 2020-03-04T05:28:00Z oni-on-ion: i can't find any innuendo or euphemism in there, except 'certain context' is abstract enough? 2020-03-04T05:28:21Z lockywolf: oni-on-ion, forget about it 2020-03-04T05:28:39Z oni-on-ion: that's what she said 2020-03-04T05:28:46Z lockywolf: (facepalm) 2020-03-04T05:28:52Z oxum quit (Remote host closed the connection) 2020-03-04T05:29:25Z oxum joined #scheme 2020-03-04T05:32:17Z hugh_marera quit (Quit: hugh_marera) 2020-03-04T05:43:32Z lockywolf_ joined #scheme 2020-03-04T05:46:38Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-04T05:52:52Z gioyik quit (Quit: WeeChat 2.7) 2020-03-04T05:53:49Z ggole joined #scheme 2020-03-04T05:55:55Z GilbertVolcano quit (Ping timeout: 255 seconds) 2020-03-04T06:03:31Z oxum quit (Read error: Connection reset by peer) 2020-03-04T06:03:39Z oxum joined #scheme 2020-03-04T06:03:55Z oxum quit (Remote host closed the connection) 2020-03-04T06:06:06Z oxum joined #scheme 2020-03-04T06:06:47Z klovett_ quit (Remote host closed the connection) 2020-03-04T06:07:22Z klovett joined #scheme 2020-03-04T06:15:17Z gioyik joined #scheme 2020-03-04T06:22:42Z oni-on-ion quit (Remote host closed the connection) 2020-03-04T06:25:17Z oni-on-ion joined #scheme 2020-03-04T06:29:40Z oxum quit (Ping timeout: 258 seconds) 2020-03-04T06:31:05Z oxum joined #scheme 2020-03-04T06:56:34Z lockywolf__ joined #scheme 2020-03-04T06:58:55Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-04T07:22:35Z oxum quit (Remote host closed the connection) 2020-03-04T07:22:55Z oxum joined #scheme 2020-03-04T07:27:51Z oxum quit (Remote host closed the connection) 2020-03-04T07:34:18Z hugh_marera joined #scheme 2020-03-04T07:48:45Z oxum joined #scheme 2020-03-04T07:49:34Z gioyik quit (Quit: WeeChat 2.7) 2020-03-04T07:53:51Z oxum quit (Remote host closed the connection) 2020-03-04T08:00:58Z zaifir quit (Quit: Eadem mutata resurgo.) 2020-03-04T08:01:55Z zaifir joined #scheme 2020-03-04T08:12:45Z oxum joined #scheme 2020-03-04T08:15:34Z oxum quit (Remote host closed the connection) 2020-03-04T08:53:49Z luni joined #scheme 2020-03-04T08:54:08Z lockywolf_ joined #scheme 2020-03-04T08:54:38Z jao joined #scheme 2020-03-04T08:56:22Z lockywolf__ quit (Ping timeout: 255 seconds) 2020-03-04T09:06:18Z lockywolf_ quit (Remote host closed the connection) 2020-03-04T09:06:33Z lockywolf_ joined #scheme 2020-03-04T09:12:17Z lockywolf__ joined #scheme 2020-03-04T09:13:29Z lockywolf_ quit (Read error: Connection reset by peer) 2020-03-04T09:13:37Z lockywolf_ joined #scheme 2020-03-04T09:15:57Z luni: hi all... is there a way to reference an element inside an array using as index the result of a division like (vector-ref u (/ .5 dx)) ? I can't use the result of the division, say 10.0, to address an element in the array... so what i have to do to convert the float to an integer? 2020-03-04T09:17:04Z lockywolf__ quit (Ping timeout: 255 seconds) 2020-03-04T09:17:57Z luni quit (Remote host closed the connection) 2020-03-04T09:20:21Z luni joined #scheme 2020-03-04T09:24:09Z dozzie joined #scheme 2020-03-04T09:29:08Z zig: luni: you need to call inexact->exact or exact in r 2020-03-04T09:29:14Z zig: luni: you need to call inexact->exact or exact in r7rs 2020-03-04T09:29:37Z luni: ok, thank you! 2020-03-04T09:29:49Z Zenton joined #scheme 2020-03-04T09:38:25Z v_m_v joined #scheme 2020-03-04T09:41:36Z luni quit (Remote host closed the connection) 2020-03-04T09:51:19Z tryte quit (Remote host closed the connection) 2020-03-04T09:55:02Z cpressey joined #scheme 2020-03-04T09:56:44Z hugh_marera quit (Quit: hugh_marera) 2020-03-04T09:56:46Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-04T09:58:40Z v_m_v_ joined #scheme 2020-03-04T10:01:52Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-04T10:17:30Z oxum joined #scheme 2020-03-04T10:18:09Z hugh_marera joined #scheme 2020-03-04T10:18:48Z hugh_marera quit (Client Quit) 2020-03-04T10:34:18Z longshi joined #scheme 2020-03-04T10:52:27Z longshi quit (Ping timeout: 268 seconds) 2020-03-04T11:01:59Z mdhughes: Or (div dx 2) or (quotient dx 2) depending on Scheme version, which will give you an integer. 2020-03-04T11:06:40Z lockywolf_ joined #scheme 2020-03-04T11:09:16Z v_m_v_ quit (Remote host closed the connection) 2020-03-04T11:15:39Z oxum_ joined #scheme 2020-03-04T11:15:40Z oxum quit (Read error: Connection reset by peer) 2020-03-04T11:21:12Z lritter joined #scheme 2020-03-04T11:22:08Z oxum_ quit (Read error: Connection reset by peer) 2020-03-04T11:22:26Z oxum joined #scheme 2020-03-04T11:26:04Z oxum quit (Remote host closed the connection) 2020-03-04T11:32:17Z xkapastel joined #scheme 2020-03-04T11:36:45Z luni joined #scheme 2020-03-04T11:38:11Z oxum joined #scheme 2020-03-04T11:40:11Z oxum quit (Remote host closed the connection) 2020-03-04T11:40:40Z oxum joined #scheme 2020-03-04T11:41:40Z v_m_v joined #scheme 2020-03-04T11:46:00Z luni quit (Remote host closed the connection) 2020-03-04T11:46:18Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-04T11:49:53Z luni joined #scheme 2020-03-04T11:53:56Z luni quit (Remote host closed the connection) 2020-03-04T11:57:16Z gravicappa quit (Ping timeout: 255 seconds) 2020-03-04T12:07:10Z v_m_v joined #scheme 2020-03-04T12:13:59Z oxum quit (Remote host closed the connection) 2020-03-04T12:18:12Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-04T12:22:55Z TCZ joined #scheme 2020-03-04T12:25:21Z oxum joined #scheme 2020-03-04T12:27:40Z oxum_ joined #scheme 2020-03-04T12:27:54Z oxum quit (Read error: Connection reset by peer) 2020-03-04T12:28:07Z oxum_ quit (Remote host closed the connection) 2020-03-04T12:30:06Z kritixilithos joined #scheme 2020-03-04T12:34:40Z oxum joined #scheme 2020-03-04T12:36:46Z oxum quit (Remote host closed the connection) 2020-03-04T12:37:26Z oxum joined #scheme 2020-03-04T12:39:21Z longshi joined #scheme 2020-03-04T12:40:35Z oxum quit (Remote host closed the connection) 2020-03-04T12:41:42Z oxum joined #scheme 2020-03-04T12:42:56Z oxum quit (Remote host closed the connection) 2020-03-04T12:44:23Z madage quit (Ping timeout: 240 seconds) 2020-03-04T12:44:51Z madage joined #scheme 2020-03-04T12:48:05Z oxum joined #scheme 2020-03-04T12:54:56Z v_m_v quit (Remote host closed the connection) 2020-03-04T12:55:12Z fowlduck quit (Read error: Connection reset by peer) 2020-03-04T12:55:35Z fowlduck joined #scheme 2020-03-04T12:55:38Z edgar-rft: (define corona (code) (call-with-contermination code)) 2020-03-04T12:55:50Z Naptra joined #scheme 2020-03-04T12:58:13Z luni joined #scheme 2020-03-04T13:02:04Z DGASAU` quit (Quit: ERC (IRC client for Emacs 25.3.1)) 2020-03-04T13:02:26Z DGASAU joined #scheme 2020-03-04T13:06:39Z tdammers: call-with-current-contamination, you mean? 2020-03-04T13:07:12Z jcowan: Riastradh: I don't know; who is the King of France today? 2020-03-04T13:13:22Z lucasb joined #scheme 2020-03-04T13:13:55Z ngz joined #scheme 2020-03-04T13:24:26Z jao quit (Ping timeout: 258 seconds) 2020-03-04T13:24:49Z sz0 joined #scheme 2020-03-04T13:27:16Z oni-on-ion joined #scheme 2020-03-04T13:27:47Z TCZ quit (Quit: Leaving) 2020-03-04T13:28:28Z jao joined #scheme 2020-03-04T13:33:05Z jao quit (Ping timeout: 265 seconds) 2020-03-04T13:35:40Z v_m_v joined #scheme 2020-03-04T13:37:51Z TCZ joined #scheme 2020-03-04T13:38:30Z oxum quit (Remote host closed the connection) 2020-03-04T13:40:09Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-04T13:41:35Z oxum joined #scheme 2020-03-04T13:49:10Z v_m_v joined #scheme 2020-03-04T13:53:45Z belmarca: jcowan it depends who you ask 😆 2020-03-04T13:56:57Z coffeeturtle joined #scheme 2020-03-04T13:58:31Z klovett quit (Remote host closed the connection) 2020-03-04T13:58:48Z klovett joined #scheme 2020-03-04T14:00:31Z oxum quit (Remote host closed the connection) 2020-03-04T14:07:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-04T14:08:41Z Naptra quit (Remote host closed the connection) 2020-03-04T14:09:21Z v_m_v quit (Remote host closed the connection) 2020-03-04T14:13:10Z oxum joined #scheme 2020-03-04T14:13:23Z kritixilithos joined #scheme 2020-03-04T14:18:35Z v_m_v joined #scheme 2020-03-04T14:19:17Z ngz quit (Ping timeout: 272 seconds) 2020-03-04T14:21:24Z jcowan: belmarca: Indeed. 2020-03-04T14:22:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-04T14:25:38Z kritixilithos joined #scheme 2020-03-04T14:30:42Z oxum quit (Remote host closed the connection) 2020-03-04T14:34:15Z oxum joined #scheme 2020-03-04T14:37:02Z oxum quit (Remote host closed the connection) 2020-03-04T14:37:50Z oxum joined #scheme 2020-03-04T14:42:38Z skapata joined #scheme 2020-03-04T14:45:19Z oxum quit (Ping timeout: 258 seconds) 2020-03-04T14:46:23Z v_m_v quit (Remote host closed the connection) 2020-03-04T14:47:47Z skapata quit (Ping timeout: 272 seconds) 2020-03-04T14:51:55Z v_m_v joined #scheme 2020-03-04T14:56:21Z gioyik joined #scheme 2020-03-04T15:00:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-04T15:03:42Z GilbertVolcano joined #scheme 2020-03-04T15:04:38Z kritixil1 joined #scheme 2020-03-04T15:09:14Z TempeVolcano joined #scheme 2020-03-04T15:11:40Z GilbertVolcano quit (Ping timeout: 255 seconds) 2020-03-04T15:25:32Z TCZ quit (Quit: Leaving) 2020-03-04T15:30:57Z Riastradh: jcowan: I dunno, is it foof, or is this a trick question? 2020-03-04T15:33:12Z jcowan: The plain answer is "There is none", but there are at least two people who claim to be King of France and two more who claim to be Emperor of the French, both on legitimate dynastic lines. 2020-03-04T15:33:43Z jcowan: But I meant that since WG1 is wound up and so are its committees, it makes little sense to ask if someone is or is not part of one. 2020-03-04T15:36:12Z Riastradh: OK, so which king of France should I be telling about how to correctly run TeX to get all the references right? 2020-03-04T15:51:23Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-04T15:57:37Z kritixil1 joined #scheme 2020-03-04T16:03:09Z pflanze quit (Ping timeout: 272 seconds) 2020-03-04T16:18:01Z smazga joined #scheme 2020-03-04T16:19:36Z GilbertVolcano joined #scheme 2020-03-04T16:21:43Z drakonis joined #scheme 2020-03-04T16:22:07Z TempeVolcano quit (Ping timeout: 260 seconds) 2020-03-04T16:23:14Z smazga quit (Quit: leaving) 2020-03-04T16:30:29Z v_m_v quit (Remote host closed the connection) 2020-03-04T16:32:02Z longshi quit (Read error: Connection reset by peer) 2020-03-04T16:42:13Z luni quit (Remote host closed the connection) 2020-03-04T16:51:36Z androclus joined #scheme 2020-03-04T16:53:04Z androclus left #scheme 2020-03-04T16:55:26Z ggole quit (Quit: Leaving) 2020-03-04T16:58:33Z cpressey quit (Quit: A la prochaine.) 2020-03-04T17:04:54Z oxum joined #scheme 2020-03-04T17:07:10Z gravicappa joined #scheme 2020-03-04T17:18:43Z TempeVolcano joined #scheme 2020-03-04T17:19:12Z GilbertVolcano quit (Read error: Connection reset by peer) 2020-03-04T17:20:15Z lloda quit (Ping timeout: 265 seconds) 2020-03-04T17:26:10Z klovett quit 2020-03-04T17:33:59Z lloda joined #scheme 2020-03-04T17:46:28Z ecraven: write a Makefile that does it, they should check that in with the sources ;P 2020-03-04T17:53:55Z Khisanth quit (Ping timeout: 258 seconds) 2020-03-04T17:57:24Z jao joined #scheme 2020-03-04T18:04:09Z klovett joined #scheme 2020-03-04T18:07:18Z Khisanth joined #scheme 2020-03-04T18:09:11Z pjb quit (Ping timeout: 272 seconds) 2020-03-04T18:10:40Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-04T18:25:14Z kritixil1 quit (Quit: quit) 2020-03-04T18:26:06Z drakonis quit (Ping timeout: 240 seconds) 2020-03-04T18:44:16Z pjb joined #scheme 2020-03-04T18:47:24Z daviid joined #scheme 2020-03-04T18:50:15Z oni-on-ion joined #scheme 2020-03-04T18:52:28Z drakonis joined #scheme 2020-03-04T18:54:12Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-04T18:55:13Z oni-on-ion joined #scheme 2020-03-04T18:57:53Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-04T18:59:00Z oni-on-ion joined #scheme 2020-03-04T19:22:18Z uplime- joined #scheme 2020-03-04T19:23:46Z uplime quit (Ping timeout: 256 seconds) 2020-03-04T19:25:32Z hugh_marera joined #scheme 2020-03-04T19:25:38Z _idkfa joined #scheme 2020-03-04T19:28:18Z panico quit (Ping timeout: 256 seconds) 2020-03-04T19:28:18Z brettgilio quit (Ping timeout: 256 seconds) 2020-03-04T19:29:42Z brettgilio joined #scheme 2020-03-04T19:30:00Z kjak quit (Ping timeout: 256 seconds) 2020-03-04T19:30:17Z kjak joined #scheme 2020-03-04T20:15:00Z luni joined #scheme 2020-03-04T20:23:29Z TCZ joined #scheme 2020-03-04T20:30:30Z pilne joined #scheme 2020-03-04T20:51:28Z TempeVolcano quit (Ping timeout: 265 seconds) 2020-03-04T21:18:40Z boredmanicrobot joined #scheme 2020-03-04T21:22:28Z gravicappa quit (Ping timeout: 255 seconds) 2020-03-04T21:26:29Z coffeeturtle quit (Quit: leaving) 2020-03-04T21:32:09Z boredmanicrobot quit (Quit: boredmanicrobot) 2020-03-04T21:41:45Z boredmanicrobot joined #scheme 2020-03-04T21:42:08Z boredmanicrobot quit (Client Quit) 2020-03-04T21:48:48Z TCZ quit (Quit: Leaving) 2020-03-04T21:49:59Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-04T22:02:22Z jcowan: Riastradh: I don't know, I'm not involved in French politics 2020-03-04T22:02:39Z jcowan: See Steinbeck's _The Short Reign of Pippin IV_ for helpful information 2020-03-04T22:03:15Z Riastradh: ecraven: Well apparently the makefile already runs TeX twice, but that seems to be not enough in this case. 2020-03-04T22:03:37Z Riastradh: jcowan: I expect it will be very helpful in correcting the page numbering of a PDF document! 2020-03-04T22:04:09Z jcowan: In principle, certainly. It is very strong on computer technology in general, despite not mentioning computers (I think). 2020-03-04T22:08:57Z jao quit (Remote host closed the connection) 2020-03-04T22:10:14Z jao joined #scheme 2020-03-04T22:12:45Z pjb: Historic fiction: assume computer systems are introduced during the reign of Pippin IV… what consequences? 2020-03-04T22:17:20Z klovett quit 2020-03-04T22:17:31Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-04T22:32:08Z gioyik quit (Quit: WeeChat 2.7) 2020-03-04T22:43:48Z oni-on-ion: climate change 2020-03-04T22:44:49Z Khisanth quit (Ping timeout: 255 seconds) 2020-03-04T22:46:10Z Khisanth joined #scheme 2020-03-04T22:49:10Z TempeVolcano joined #scheme 2020-03-04T22:49:46Z TempeVolcano quit (Remote host closed the connection) 2020-03-04T22:53:25Z luni quit (Remote host closed the connection) 2020-03-04T23:13:19Z skapata joined #scheme 2020-03-04T23:13:26Z klovett joined #scheme 2020-03-04T23:17:55Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-04T23:19:03Z Guest90256 quit (Ping timeout: 268 seconds) 2020-03-04T23:20:17Z nckx quit (Ping timeout: 268 seconds) 2020-03-04T23:22:20Z lritter quit (Quit: Leaving) 2020-03-04T23:23:01Z nckx joined #scheme 2020-03-04T23:23:14Z yumh joined #scheme 2020-03-04T23:30:02Z yumh quit (Ping timeout: 240 seconds) 2020-03-04T23:31:23Z nckx quit (Ping timeout: 268 seconds) 2020-03-04T23:32:16Z nckx joined #scheme 2020-03-04T23:33:41Z faLUCE joined #scheme 2020-03-04T23:37:35Z yumh joined #scheme 2020-03-04T23:53:05Z faLUCE: hello. Which is the standard way to get the size of a list? 2020-03-05T00:04:13Z jao quit (Ping timeout: 258 seconds) 2020-03-05T00:06:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-05T00:07:56Z siraben: faLUCE: (length l) 2020-03-05T00:19:16Z faLUCE: thanks 2020-03-05T00:20:00Z faLUCE: another question: if myList = '(foo) how can I get foo? (note that the list is not '((foo)) ) 2020-03-05T00:24:45Z belmarca: car? 2020-03-05T00:26:35Z faLUCE: belmarca: the interpreter says that Wrong type (expecting pair) 2020-03-05T00:31:02Z faLUCE: sorry, I was wrong 2020-03-05T00:31:04Z faLUCE: I did: 2020-03-05T00:31:14Z faLUCE: (set l (car l)) 2020-03-05T00:33:25Z pjb: (let ((myList (list 'quote (list 'foo)))) (display myList) (car (car (cdr myList)))) prints: (quote (foo)) returns: foo 2020-03-05T00:35:40Z faLUCE: pjb: Yes, I was wrong 2020-03-05T00:35:45Z faLUCE: thnks 2020-03-05T00:38:10Z pjb quit (Read error: Connection reset by peer) 2020-03-05T00:38:39Z pjb` joined #scheme 2020-03-05T00:38:47Z pjb` quit (Remote host closed the connection) 2020-03-05T00:40:25Z pjb joined #scheme 2020-03-05T00:46:21Z jcowan: pjb: Pippin IV came to the throne in 1957, so computers certainly did exist. 2020-03-05T00:46:32Z jcowan: faLUCE: (length x) where x is the list. 2020-03-05T00:54:37Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T00:57:54Z lockywolf joined #scheme 2020-03-05T01:02:26Z f8l quit (Ping timeout: 240 seconds) 2020-03-05T01:06:48Z f8l joined #scheme 2020-03-05T01:15:03Z madage quit (Ping timeout: 240 seconds) 2020-03-05T01:19:42Z X-Scale` joined #scheme 2020-03-05T01:20:07Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-05T01:20:08Z madage joined #scheme 2020-03-05T01:20:30Z X-Scale` is now known as X-Scale 2020-03-05T01:30:35Z terpri quit (Quit: Leaving) 2020-03-05T01:36:41Z drakonis joined #scheme 2020-03-05T01:39:10Z terpri joined #scheme 2020-03-05T01:40:30Z skapata quit (Quit: Ĝis!) 2020-03-05T01:45:11Z lockywolf_ joined #scheme 2020-03-05T01:47:38Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-05T01:52:46Z f8l quit (Remote host closed the connection) 2020-03-05T01:54:12Z f8l joined #scheme 2020-03-05T02:00:50Z DGASAU quit (Ping timeout: 240 seconds) 2020-03-05T02:04:40Z xlei quit (Ping timeout: 265 seconds) 2020-03-05T02:11:33Z DGASAU joined #scheme 2020-03-05T02:19:36Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-05T02:27:26Z f8l quit (Remote host closed the connection) 2020-03-05T02:27:51Z zaifir quit (Ping timeout: 260 seconds) 2020-03-05T02:29:13Z f8l joined #scheme 2020-03-05T02:29:46Z zaifir joined #scheme 2020-03-05T02:31:16Z xlei joined #scheme 2020-03-05T02:35:10Z pjb: jcowan: oops, I thought he was much older. 2020-03-05T02:40:14Z zaifir quit (Ping timeout: 258 seconds) 2020-03-05T02:40:55Z brettgilio quit (Ping timeout: 272 seconds) 2020-03-05T02:42:06Z zaifir joined #scheme 2020-03-05T02:42:37Z f8l quit (Remote host closed the connection) 2020-03-05T02:42:49Z vidjuheffex joined #scheme 2020-03-05T02:44:05Z f8l joined #scheme 2020-03-05T02:45:31Z jcowan: No, he was a living legitimate descendant of Charles Martel, an amateur astronomer named Pippin Arnufl Héristal. 2020-03-05T02:45:43Z vidjuheffex: hey folks, I have a question, do any chez scheme users know if ftypes can be exported by libraries. I've created some aliases (define-ftype (GLenum int) etc...) and when I (import (glew)) in a seperate file its not bound 2020-03-05T02:46:05Z jcowan: His name was put forward in order to break a deadlock between the royalist parties, who themselves had form a coalition to break the deadlock between the mainstream parties. 2020-03-05T02:46:35Z jcowan: Arnulf, sorry 2020-03-05T02:51:43Z madage quit (Ping timeout: 240 seconds) 2020-03-05T03:16:36Z ahungry joined #scheme 2020-03-05T03:17:51Z faLUCE quit (Quit: Konversation terminated!) 2020-03-05T03:21:53Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-05T03:22:19Z oxum quit (Remote host closed the connection) 2020-03-05T03:22:48Z madage joined #scheme 2020-03-05T03:35:21Z oxum joined #scheme 2020-03-05T03:44:54Z faLUCE joined #scheme 2020-03-05T03:45:42Z faLUCE: hello. I can (display (length myList)) and it says "2", but the compiler gives me error if I do (if (eq? (lenth mYyList) 2) 2020-03-05T03:45:55Z faLUCE: where can be the error? should I cast it to number? 2020-03-05T03:46:10Z faLUCE: (sorry for the typos) 2020-03-05T03:47:13Z oni-on-ion: lenth is missing a 'g' ? 2020-03-05T03:47:21Z oni-on-ion: like whats the error 2020-03-05T03:47:34Z mdhughes: vidjuheffex: You need to export anything you declare… 2020-03-05T03:49:03Z madage quit (Ping timeout: 240 seconds) 2020-03-05T03:49:08Z oni-on-ion: faLUCE, works in guile; (eq? (length '(1 2 3 4)) 4) => #t 2020-03-05T03:49:12Z faLUCE: oni-on-ion: they are typos 2020-03-05T03:49:58Z oni-on-ion: without exact code, compiler error is the next clue to solving the mystery 2020-03-05T03:52:05Z faLUCE: oni-on-ion: I'm seeing that the list is not a standard list, but a "symbol-list" 2020-03-05T03:52:20Z faLUCE: is this standard scheme or some other extension? 2020-03-05T03:52:35Z oni-on-ion: depends how you define'd myList 2020-03-05T03:52:54Z faLUCE: it's a symbol-list? var 2020-03-05T03:53:24Z oni-on-ion: is it '(foo) as above ? i dont know 2020-03-05T03:53:26Z Riastradh: faLUCE: First you find a psychic who can telepathically find out exactly what you _actually_ typed, without the typos, and exactly what the computer _specifically_ said... 2020-03-05T03:53:56Z oni-on-ion: ^ 2020-03-05T03:54:14Z madage joined #scheme 2020-03-05T03:54:22Z faLUCE: sorry, the error should be elsewhere 2020-03-05T04:09:12Z vidjuheffex quit (Remote host closed the connection) 2020-03-05T04:15:00Z jao joined #scheme 2020-03-05T04:19:30Z jao quit (Ping timeout: 256 seconds) 2020-03-05T04:40:30Z lockywolf_: Is the recently discussed POSIX srfi essentially a repackage of the SCSH posix library? 2020-03-05T04:46:54Z pilne quit (Quit: Call me a relic, call me what you will. Say I'm old fashioned, say I'm over the hill.) 2020-03-05T04:54:06Z siraben: jcowan: Cool, those contexts look interesting. 2020-03-05T04:54:36Z torbo joined #scheme 2020-03-05T05:08:04Z pjb: faLUCE: in r5rs, (eq? 2 2) ===> unspecified 2020-03-05T05:08:42Z oni-on-ion: wat 2020-03-05T05:08:43Z pjb: faLUCE: are you sure that guile will always return #t ??? Perhaps (eq? (length '(1 2 3 4)) (+ 2 2)) => #f in guile? 2020-03-05T05:09:16Z oni-on-ion: i dont think he has specified the implementation he is using 2020-03-05T05:09:30Z pjb: oh, right, it was you. 2020-03-05T05:09:38Z oni-on-ion: yea sry. geiser default was guile 2020-03-05T05:18:08Z klovett quit (Remote host closed the connection) 2020-03-05T05:18:42Z klovett joined #scheme 2020-03-05T05:22:47Z oxum_ joined #scheme 2020-03-05T05:22:51Z oxum quit (Read error: Connection reset by peer) 2020-03-05T05:27:43Z gravicappa joined #scheme 2020-03-05T05:32:33Z torbo quit (Remote host closed the connection) 2020-03-05T05:46:02Z ahungry quit (Remote host closed the connection) 2020-03-05T05:48:25Z mdhughes_ joined #scheme 2020-03-05T05:49:56Z mdhughes quit (Ping timeout: 256 seconds) 2020-03-05T05:51:07Z mdhughes_ is now known as mdhughes 2020-03-05T05:51:52Z daviid quit (Ping timeout: 256 seconds) 2020-03-05T06:03:21Z daviid joined #scheme 2020-03-05T06:04:42Z lockywolf__ joined #scheme 2020-03-05T06:07:10Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-05T06:07:55Z lockywolf joined #scheme 2020-03-05T06:09:10Z vidjuheffex joined #scheme 2020-03-05T06:09:25Z lockywolf__ quit (Ping timeout: 255 seconds) 2020-03-05T06:29:00Z 92AAABOYZ joined #scheme 2020-03-05T06:35:14Z theruran joined #scheme 2020-03-05T06:43:12Z oxum_ quit (Read error: Connection reset by peer) 2020-03-05T06:43:31Z oxum joined #scheme 2020-03-05T06:45:02Z 92AAABOYZ quit (Quit: Quit) 2020-03-05T06:45:15Z brown121407 joined #scheme 2020-03-05T06:48:23Z oxum quit (Ping timeout: 265 seconds) 2020-03-05T06:49:13Z lockywolf_ joined #scheme 2020-03-05T06:51:43Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-05T06:51:53Z oxum joined #scheme 2020-03-05T06:52:56Z oxum quit (Remote host closed the connection) 2020-03-05T06:57:25Z oxum joined #scheme 2020-03-05T06:58:47Z oni-on-ion quit (Remote host closed the connection) 2020-03-05T06:59:07Z oni-on-ion joined #scheme 2020-03-05T07:00:48Z oxum quit (Remote host closed the connection) 2020-03-05T07:05:52Z vidjuheffex quit (Ping timeout: 256 seconds) 2020-03-05T07:08:10Z oxum joined #scheme 2020-03-05T07:10:25Z oxum quit (Remote host closed the connection) 2020-03-05T07:12:25Z DGASAU quit (Remote host closed the connection) 2020-03-05T07:14:11Z DGASAU joined #scheme 2020-03-05T07:16:18Z faLUCE quit (Ping timeout: 256 seconds) 2020-03-05T07:16:48Z hugh_marera joined #scheme 2020-03-05T07:17:06Z faLUCE joined #scheme 2020-03-05T07:33:17Z brown121407 quit (Remote host closed the connection) 2020-03-05T07:33:57Z lockywolf joined #scheme 2020-03-05T07:34:29Z lockywolf_ quit (Read error: Connection reset by peer) 2020-03-05T07:40:51Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T07:44:26Z oxum joined #scheme 2020-03-05T07:51:44Z oxum quit (Read error: Connection reset by peer) 2020-03-05T07:52:08Z oxum joined #scheme 2020-03-05T07:57:16Z lockywolf quit (Remote host closed the connection) 2020-03-05T07:57:40Z lockywolf joined #scheme 2020-03-05T08:02:38Z hugh_marera joined #scheme 2020-03-05T08:21:45Z lockywolf_ joined #scheme 2020-03-05T08:24:25Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-05T08:24:42Z lockywolf__ joined #scheme 2020-03-05T08:27:14Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-05T08:33:52Z lockywolf__ quit (Ping timeout: 255 seconds) 2020-03-05T08:34:26Z f8l quit (Ping timeout: 258 seconds) 2020-03-05T08:36:01Z f8l joined #scheme 2020-03-05T08:37:52Z lockywolf__ joined #scheme 2020-03-05T08:39:14Z f8l quit (Read error: Connection reset by peer) 2020-03-05T08:44:16Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T08:44:56Z lockywolf__ joined #scheme 2020-03-05T08:45:58Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T08:46:01Z kjak quit (Ping timeout: 255 seconds) 2020-03-05T08:46:28Z lockywolf__ joined #scheme 2020-03-05T08:47:41Z kjak joined #scheme 2020-03-05T08:47:46Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T08:48:15Z lockywolf__ joined #scheme 2020-03-05T08:50:46Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T08:51:16Z lockywolf__ joined #scheme 2020-03-05T08:51:32Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T08:52:05Z lockywolf__ joined #scheme 2020-03-05T08:53:29Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T08:53:56Z lockywolf__ joined #scheme 2020-03-05T08:54:46Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T08:55:12Z lockywolf__ joined #scheme 2020-03-05T08:55:48Z sammich quit (Ping timeout: 256 seconds) 2020-03-05T08:55:58Z sammich joined #scheme 2020-03-05T08:56:39Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T08:57:13Z lockywolf__ joined #scheme 2020-03-05T08:58:16Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T08:58:42Z lockywolf__ joined #scheme 2020-03-05T09:00:09Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T09:01:01Z lockywolf__ joined #scheme 2020-03-05T09:01:46Z lockywolf__ quit (Remote host closed the connection) 2020-03-05T09:02:12Z lockywolf__ joined #scheme 2020-03-05T09:04:31Z malaclyps quit (Ping timeout: 260 seconds) 2020-03-05T09:05:09Z f8l joined #scheme 2020-03-05T09:05:31Z malaclyps joined #scheme 2020-03-05T09:07:19Z theruran quit (*.net *.split) 2020-03-05T09:07:19Z terpri quit (*.net *.split) 2020-03-05T09:07:20Z deesix quit (*.net *.split) 2020-03-05T09:07:20Z cmatei quit (*.net *.split) 2020-03-05T09:07:20Z nly quit (*.net *.split) 2020-03-05T09:07:20Z tessier quit (*.net *.split) 2020-03-05T09:07:20Z zmt01 quit (*.net *.split) 2020-03-05T09:07:20Z mario-goulart quit (*.net *.split) 2020-03-05T09:07:20Z Oxyd quit (*.net *.split) 2020-03-05T09:07:21Z erkin quit (*.net *.split) 2020-03-05T09:09:55Z lockywolf_ joined #scheme 2020-03-05T09:10:02Z malaclyps quit (Ping timeout: 240 seconds) 2020-03-05T09:10:46Z lockywolf_ quit (Remote host closed the connection) 2020-03-05T09:11:11Z lockywolf_ joined #scheme 2020-03-05T09:12:28Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-05T09:12:30Z malaclyps joined #scheme 2020-03-05T09:12:43Z lockywolf__ joined #scheme 2020-03-05T09:14:13Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T09:14:47Z lockywolf__ joined #scheme 2020-03-05T09:16:26Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-05T09:19:19Z oxum quit (Ping timeout: 255 seconds) 2020-03-05T09:19:55Z oxum joined #scheme 2020-03-05T09:24:00Z oxum quit (Read error: Connection reset by peer) 2020-03-05T09:24:26Z oxum joined #scheme 2020-03-05T09:24:34Z oxum quit (Remote host closed the connection) 2020-03-05T09:24:51Z oxum joined #scheme 2020-03-05T09:31:44Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-05T09:41:20Z stux|work quit (Quit: Aloha!) 2020-03-05T09:43:19Z theruran joined #scheme 2020-03-05T09:43:19Z terpri joined #scheme 2020-03-05T09:43:19Z deesix joined #scheme 2020-03-05T09:43:19Z cmatei joined #scheme 2020-03-05T09:43:19Z nly joined #scheme 2020-03-05T09:43:19Z tessier joined #scheme 2020-03-05T09:43:19Z zmt01 joined #scheme 2020-03-05T09:43:19Z mario-goulart joined #scheme 2020-03-05T09:43:19Z Oxyd joined #scheme 2020-03-05T09:43:19Z erkin joined #scheme 2020-03-05T09:45:18Z stux|work joined #scheme 2020-03-05T09:46:02Z malaclyps quit (Ping timeout: 240 seconds) 2020-03-05T09:46:22Z oxum quit (Remote host closed the connection) 2020-03-05T09:46:57Z oxum joined #scheme 2020-03-05T09:48:35Z malaclyps joined #scheme 2020-03-05T09:58:13Z cpressey joined #scheme 2020-03-05T10:00:45Z bgardner quit (Ping timeout: 265 seconds) 2020-03-05T10:05:06Z oxum quit (Remote host closed the connection) 2020-03-05T10:07:14Z bgardner joined #scheme 2020-03-05T11:10:40Z oxum joined #scheme 2020-03-05T11:17:11Z TCZ joined #scheme 2020-03-05T11:21:00Z oxum quit (Read error: Connection reset by peer) 2020-03-05T11:21:28Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T11:21:30Z oxum joined #scheme 2020-03-05T11:26:21Z lockywolf joined #scheme 2020-03-05T11:26:56Z luni joined #scheme 2020-03-05T11:29:10Z lockywolf_ joined #scheme 2020-03-05T11:29:32Z lritter joined #scheme 2020-03-05T11:32:18Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-05T11:39:32Z ggole joined #scheme 2020-03-05T11:45:29Z RRedcroft joined #scheme 2020-03-05T11:51:49Z luni quit (Remote host closed the connection) 2020-03-05T11:52:33Z oxum quit (Remote host closed the connection) 2020-03-05T11:54:51Z RRedcroft quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-05T11:57:46Z RRedcroft joined #scheme 2020-03-05T11:59:00Z oxum joined #scheme 2020-03-05T12:01:32Z oxum quit (Remote host closed the connection) 2020-03-05T12:04:43Z oxum_ joined #scheme 2020-03-05T12:11:15Z lockywolf_ quit (Read error: Connection reset by peer) 2020-03-05T12:11:22Z lockywolf__ joined #scheme 2020-03-05T12:11:33Z lockywolf__ quit (Max SendQ exceeded) 2020-03-05T12:11:52Z oxum_ quit (Remote host closed the connection) 2020-03-05T12:13:32Z oxum joined #scheme 2020-03-05T12:14:54Z coffeeturtle joined #scheme 2020-03-05T12:25:25Z oxum quit (Remote host closed the connection) 2020-03-05T12:33:21Z RRedcroft quit (Remote host closed the connection) 2020-03-05T12:41:00Z hugh_marera joined #scheme 2020-03-05T12:41:46Z oxum joined #scheme 2020-03-05T12:42:16Z xkapastel joined #scheme 2020-03-05T12:47:08Z modory joined #scheme 2020-03-05T12:47:12Z modory: Hello 2020-03-05T12:48:12Z oxum quit (Remote host closed the connection) 2020-03-05T12:58:00Z luni joined #scheme 2020-03-05T13:05:59Z oxum joined #scheme 2020-03-05T13:12:05Z skapata joined #scheme 2020-03-05T13:14:17Z TCZ quit (Quit: Leaving) 2020-03-05T13:15:43Z iv-so joined #scheme 2020-03-05T13:28:06Z iv-so quit (Ping timeout: 265 seconds) 2020-03-05T13:35:56Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T13:40:23Z luni quit (Remote host closed the connection) 2020-03-05T13:43:39Z phwalkr joined #scheme 2020-03-05T13:48:55Z oxum quit (Remote host closed the connection) 2020-03-05T13:52:54Z oxum joined #scheme 2020-03-05T13:53:37Z oxum quit (Remote host closed the connection) 2020-03-05T13:55:16Z klovett quit (Remote host closed the connection) 2020-03-05T13:55:33Z klovett joined #scheme 2020-03-05T14:09:51Z modory quit (Ping timeout: 258 seconds) 2020-03-05T14:14:20Z oxum joined #scheme 2020-03-05T14:16:45Z lucasb joined #scheme 2020-03-05T14:27:30Z oxum quit (Remote host closed the connection) 2020-03-05T15:12:01Z oxum joined #scheme 2020-03-05T15:17:50Z hugh_marera joined #scheme 2020-03-05T15:23:33Z skapata quit (Quit: Ĝis!) 2020-03-05T15:37:34Z Jmabsd joined #scheme 2020-03-05T15:39:48Z Naptra joined #scheme 2020-03-05T15:39:59Z Jmabsd: (repost of same topic as some weeks ago) guys, how do you implement the following in syntax-case: 2020-03-05T15:40:08Z Jmabsd: (define-macro (hello-world) '(print "Hello, World!\n")) 2020-03-05T15:40:12Z Jmabsd: (define-macro (begin0 arg1 . rest) (define g (gensym)) `(let ((,g ,arg1)) ,@rest ,g))) 2020-03-05T15:40:16Z Jmabsd: syntax-case is not trivial to learn, your pointer here would be much appreciated 2020-03-05T15:40:20Z Jmabsd: also there are no syntax-case learning resources for people who don't know syntax-case already 2020-03-05T15:41:00Z Jmabsd: jcowan,Riastradh: around? :) 2020-03-05T15:42:20Z jcowan: Jmabsd: yes 2020-03-05T15:42:27Z Jmabsd: jcowan: yey! 2020-03-05T15:42:35Z Jmabsd: jcowan: would you mind catering to my syntax-case noob q above? 2020-03-05T15:42:46Z Jmabsd: responding to 2020-03-05T15:42:57Z Jmabsd: i have a fairly good idea of the problem domain of syntax-case 2020-03-05T15:43:15Z Jmabsd: i guess also the macro would be written: (define-syntax hello-world (lambda (syntax-object) ..something..)) 2020-03-05T15:43:27Z Jmabsd: i'm not sure what something should be, and also I don't understand the #'( aka |syntax| form 2020-03-05T15:43:31Z jcowan: (define-syntax hello-world (syntax-rules () ((hello-world) (print ...)))) 2020-03-05T15:43:36Z Jmabsd: nononononono 2020-03-05T15:43:39Z jcowan: this is not a good exampe for syntax-case 2020-03-05T15:43:40Z Jmabsd: i said syntax-case 2020-03-05T15:43:41Z Jmabsd: not syntax-rules 2020-03-05T15:43:47Z Jmabsd: i know it's not a good example 2020-03-05T15:43:55Z Jmabsd: but nonetheless i like to learn how to do this in syntax-cas 2020-03-05T15:43:55Z Jmabsd: e 2020-03-05T15:43:56Z jcowan: Okay. The first rule of syntax-case is always to use syntax-rules 2020-03-05T15:43:59Z jcowan: if you can 2020-03-05T15:44:02Z Jmabsd: yeah i know 2020-03-05T15:44:11Z jcowan: In that case, just put a #' before the call to print 2020-03-05T15:44:14Z Jmabsd: but right now it's for the sake of learning syntax-case using a simple example 2020-03-05T15:44:20Z Jmabsd: really? 2020-03-05T15:44:29Z jcowan: yes 2020-03-05T15:44:38Z Jmabsd: (define-syntax hello-world (lambda (syntax-object) #'(print "Hello, world!\n"))) 2020-03-05T15:44:40Z Jmabsd: like this? 2020-03-05T15:44:45Z jcowan: Try it and see! 2020-03-05T15:44:48Z Jmabsd: neat! ok! 2020-03-05T15:45:00Z Jmabsd: neat, will do sohrtly 2020-03-05T15:45:05Z Jmabsd: and what about begin0 ? 2020-03-05T15:45:16Z jcowan: no, wait, that's a hybrid 2020-03-05T15:45:42Z Jmabsd: btw, syntax-rules is kind of simpler than syntax-case, is that the only reason for using syntax-rules over syntax-case or do you have even more reasons 2020-03-05T15:45:42Z jcowan: the syntax-case version is (define-syntax hello-world (syntax-case () ((hello-world) #'(print ...)))) 2020-03-05T15:45:53Z Jmabsd: uu 2020-03-05T15:46:02Z Jmabsd: actually the variant i wrote, did work in Gambit-Gerbil 2020-03-05T15:46:03Z jcowan: Syntax-rules is R5RS and portable almost everywhere 2020-03-05T15:46:06Z Jmabsd: yea 2020-03-05T15:46:11Z Jmabsd: syntax-rule much more specific 2020-03-05T15:46:16Z Jmabsd: *syntax-case is much more specific 2020-03-05T15:46:16Z Jmabsd: mm 2020-03-05T15:46:38Z Jmabsd: jcowan: the form I suggested, that is " (define-syntax hello-world (lambda (syntax-object) ...", isn't that the normal syntax-case form??? 2020-03-05T15:46:41Z jcowan: If you want to use lambda, you have to destructure the syntax object yourself. 2020-03-05T15:46:54Z Jmabsd: ah i see 2020-03-05T15:47:16Z Jmabsd: how do I check at expand time that |syntax-object| is an empty list as in no arguments? 2020-03-05T15:47:19Z jcowan: So unless you are doing something that patterns can't cope with, a raw lambda is not a good idea 2020-03-05T15:47:41Z Jmabsd: wait wait 2020-03-05T15:47:44Z Jmabsd: you cut out the lambda 2020-03-05T15:47:47Z Jmabsd: didn't you actually mean 2020-03-05T15:47:55Z jcowan: Yes, I did. Syntax-case expands to a lambda. 2020-03-05T15:48:10Z Jmabsd: (define-syntax hello-world (lambda (syntax-object) (syntax-case syntax-object () (() #'(print "Hello, world!\n"))))) 2020-03-05T15:48:10Z Jmabsd: ? 2020-03-05T15:48:36Z Jmabsd: i think the guile manual's syntax-case example is more akin to that form 2020-03-05T15:48:40Z jcowan: That probably does something, but I have no idea what. 2020-03-05T15:48:45Z Jmabsd: also Gambit-Gerbil would not accept the one you suggested 2020-03-05T15:48:50Z Jmabsd: aha 2020-03-05T15:49:41Z Jmabsd: jcowan: how can I check that |syntax-object| is "empty"? 2020-03-05T15:49:46Z Jmabsd: and, what does #'( .. do 2020-03-05T15:50:25Z jcowan: It isn't empty; it's a syntax object corresponding to the list (hello-world) 2020-03-05T15:51:01Z jcowan: so you could say (equal? (syntax->datum syntax-object) '(hello-world)) 2020-03-05T15:51:39Z jcowan: #'x is the same as (syntax x), where x is a literal datum; it wraps x as a syntax object in the current context. 2020-03-05T15:52:35Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T15:52:37Z Jmabsd: re the (equal? .. , cool! 2020-03-05T15:52:38Z jcowan: syntax->datum strips away the wrapper of a syntax object, revealing the low-level datum. 2020-03-05T15:52:52Z Jmabsd: jcowan: is |syntax->datum| supposed to be used like this? 2020-03-05T15:52:57Z Jmabsd: or is there some "cleaner" way to achieve the same 2020-03-05T15:53:10Z Jmabsd: hmm ok so maybe it's adequate 2020-03-05T15:53:11Z Jmabsd: ok 2020-03-05T15:53:19Z jcowan: If you have to. The cleaner way is to use pattern matching, which makes those tests for you. 2020-03-05T15:53:24Z Jmabsd: also, (eq? 1 (length (syntax->datum syntax-object)) 2020-03-05T15:53:37Z jcowan: LGTM. 2020-03-05T15:53:49Z Jmabsd: for #'x , what defines "the current context"? 2020-03-05T15:54:46Z jcowan: That's complex, having to do with macro hygiene. As a highly simplified explanation, it makes sure that identifiers in macros have their value as of when the macro is *defined*, not when it is called. 2020-03-05T15:55:42Z jcowan: so if you have, Ghu forbid, redefined `if` in a let, that will not affect calling macros in the let body that depend on if doing the normal thing. 2020-03-05T15:56:26Z nly quit (Ping timeout: 240 seconds) 2020-03-05T15:57:44Z Jmabsd: oh 2020-03-05T15:57:55Z Jmabsd: jcowan: how would you implement begin0? 2020-03-05T15:58:17Z ecraven: (let ((it ...)) (begin body ... it)) 2020-03-05T15:58:24Z ecraven: where the two ... mean different things :D 2020-03-05T15:58:42Z Jmabsd: ecraven: syntax-*case* please! 2020-03-05T15:59:05Z ecraven: Jmabsd: there's no reason at all to use syntax-case for begin0 2020-03-05T15:59:14Z jcowan: Sometimes "syntax-case" means the total system, as opposed to syntax-rules, explicit renaming, syntactic closures, etc. 2020-03-05T15:59:16Z Jmabsd: ecraven: per above, i know already 2020-03-05T15:59:20Z Jmabsd: i do this to learn syntax-case! 2020-03-05T15:59:23Z jcowan: Sometimes it means the syntax-case macro itself. 2020-03-05T16:00:07Z Jmabsd: jcowan: re your "if" example, that makes all sense, right. hm. 2020-03-05T16:00:10Z Jmabsd: ah riiight 2020-03-05T16:00:41Z jcowan: so the second rule of the syntax-case system is to use the syntax-case macro. I would venture that the vast majority of syntax-case macros use syntax-case. 2020-03-05T16:01:32Z Jmabsd: jcowan: what do you mean? 2020-03-05T16:01:59Z jcowan: Almost all macros written for the syntax-case system use `syntax-case`, the macro, to destructure the syntax object. 2020-03-05T16:02:38Z jcowan: rather than writing their own procedure to destructure it. 2020-03-05T16:02:42Z Jmabsd: ah right 2020-03-05T16:02:43Z Jmabsd: hm 2020-03-05T16:02:53Z Jmabsd: right 2020-03-05T16:03:05Z Jmabsd: |syntax-case| can be used inside a procedure right? 2020-03-05T16:03:36Z Jmabsd: could a proedure be used inside |syntax-case| somehow? 2020-03-05T16:04:01Z Jmabsd: jcowan: can you suggest me how to implement |begin0|? 2020-03-05T16:04:20Z jcowan: Syntax-case, like syntax-rules, contains patterns and results. Unlike syntax-rules, the results are Scheme code that is actually executed at compile time to return the corresponding syntax object. 2020-03-05T16:04:35Z Jmabsd: mm 2020-03-05T16:04:39Z jcowan: So it is is mostly used at the top level of define-syntax (or let-syntax or let*-syntax) 2020-03-05T16:04:41Z Jmabsd: ah by the way, is #'( like '( or like `( 2020-03-05T16:04:51Z Jmabsd: as in can you do unqoute, unquote-splicing, or is that even implied, such 2020-03-05T16:04:54Z jcowan: More like backquote 2020-03-05T16:06:50Z jcowan: Unsyntax and unsyntax-splicing do exist, and can be abbreviated #, and #,@ 2020-03-05T16:07:12Z Jmabsd: wow aha 2020-03-05T16:07:19Z Jmabsd: jcowan: what is the motivation for #'( ? 2020-03-05T16:07:26Z Jmabsd: it's the creation of syntax objects yea? 2020-03-05T16:07:31Z jcowan: Yes 2020-03-05T16:07:39Z Jmabsd: hmm 2020-03-05T16:07:54Z Jmabsd: will #'( have interesting code location preservation/generation features that normal |list| / '(.... don't have? 2020-03-05T16:08:16Z Jmabsd: ah, please provide me with the example of |begin0| written in syntax-case 2020-03-05T16:08:19Z Jmabsd: that would be gold to understand it 2020-03-05T16:09:49Z jcowan: Jmabsd: Syntax objects may contain location information, but R6RS does not require it. 2020-03-05T16:11:05Z jcowan: I think you would benefit from reading http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-13.html#node_chap_12 slowly from the beginning. 2020-03-05T16:11:38Z jcowan: As for begin0, it looks just like the syntax-rules version, writing "syntax-case" instead of "syntax-rules" and prepending #' to the right side of each rule. 2020-03-05T16:11:46Z smazga joined #scheme 2020-03-05T16:12:35Z Jmabsd: jcowan: can you spell out the syntax-case example? 2020-03-05T16:12:38Z Jmabsd: thanks for the reading ref 2020-03-05T16:13:26Z Jmabsd: oh just a detail, all examples in there do *not* use |syntax-case| directly on define-syntax 2020-03-05T16:13:35Z Jmabsd: they do NOT do (define-syntax something (syntax-case ... 2020-03-05T16:13:41Z Jmabsd: instead they all have a (lambda (x) step between 2020-03-05T16:17:42Z Jmabsd: aha i was told that the correct way of using |syntax-case| for the hello world is: 2020-03-05T16:17:44Z Jmabsd: (define-syntax hello-world* 2020-03-05T16:17:44Z Jmabsd: (lambda (stx) 2020-03-05T16:17:44Z Jmabsd: (syntax-case stx () 2020-03-05T16:17:44Z Jmabsd: ((_) (print "hello world!\n"))))) 2020-03-05T16:21:25Z Jmabsd: (define-macro (begin0 arg1 . rest) (define g (gensym)) `(let ((,g ,arg1)) ,@rest ,g))) 2020-03-05T16:21:37Z ecraven: I don't think you need a gensym? 2020-03-05T16:21:56Z jcowan: (define-syntax begin0 2020-03-05T16:21:56Z jcowan: (syntax-case () 2020-03-05T16:21:56Z jcowan: ((_ expr0 expr1 ...) 2020-03-05T16:21:56Z jcowan: #'(let ((return expr0)) 2020-03-05T16:21:56Z jcowan: expr1 ... 2020-03-05T16:21:56Z jcowan: return)))) 2020-03-05T16:22:14Z Jmabsd: yey!! 2020-03-05T16:22:20Z ecraven: jcowan: don't you need a lambda in there somewhere? 2020-03-05T16:22:35Z Jmabsd: ecraven: i shar eyour understanding that a lambda is needed yes 2020-03-05T16:22:44Z jcowan: No. The whole point of syntax-case is to return a transformation procedure 2020-03-05T16:23:06Z gwatt: yes, you'd need (define-syntax begin0 (lambda (x) (syntax-case x () ...))) 2020-03-05T16:23:29Z ecraven: jcowan: that exact code in chez leads to "invalid literals list in (syntax-case ...)" 2020-03-05T16:23:34Z gwatt: jcowan: syntax-case does not return a procedure. 2020-03-05T16:23:35Z Jmabsd: do you recall who designed the |match| language in Scheme, e.g. used by syntax-case? 2020-03-05T16:23:37Z jcowan: Oops. "All previous statements are inoperative." (White House press secretary under Nixon) 2020-03-05T16:23:43Z Jmabsd: ecraven: yea in Gerbil too 2020-03-05T16:23:54Z jcowan: So yes, you do need a lambda wrapper. 2020-03-05T16:24:17Z jcowan: Moral: don't necessarily believe everything you are told, especially by someone who is not a syntax-case expert. 2020-03-05T16:24:18Z ecraven: you also need (syntax-case *stx* () ...) (with stx, I think 2020-03-05T16:24:20Z ecraven: ) 2020-03-05T16:24:36Z Jmabsd: ecraven: agreed 2020-03-05T16:24:37Z Jmabsd: interesting 2020-03-05T16:24:45Z Jmabsd: urr, the #'( actually uses |expr0| right off 2020-03-05T16:24:49Z ecraven: anyway, this is not a good example, as begin0 is hygienic anyway 2020-03-05T16:24:59Z Jmabsd: so #'( is some kind of non-opaque .. uu.. constructor form? 2020-03-05T16:25:00Z ecraven: write *unhygienic* macros with syntax-case, that's where it is actually useful 2020-03-05T16:25:11Z ecraven: isn't #'(foo) the same as (syntax foo)? 2020-03-05T16:25:14Z Jmabsd: ecraven: lol! explain? 2020-03-05T16:25:15Z gwatt: Jmabsd: while reading the r6rs spec is good, reading through TSPL4 is how I learned enough to be dangerous with syntax-case 2020-03-05T16:25:31Z Jmabsd: gwatt: https://www.scheme.com/tspl4/syntax.html yea? 2020-03-05T16:25:35Z gwatt: ecraven: no, #'foo is (syntax foo) #'(foo) is (syntax (foo)) 2020-03-05T16:25:42Z gwatt: Jmabsd: yes 2020-03-05T16:25:43Z ecraven: ah, yea, that one ;) thanks 2020-03-05T16:27:02Z gwatt: Jmabsd: There are plenty of examples in there of definining macros in terms of syntax-case. Even definining syntax-rules in terms of syntax-case 2020-03-05T16:27:20Z belmarca: the gerbil sources are very good learning material too...! 2020-03-05T16:27:48Z jcowan: TSPL looks very close to R6RS, not surprisingly. 2020-03-05T16:27:55Z Jmabsd: belmarca: the gerbil sources have no code comments at all, perfect for the one who likes to think it all out for himself :))) 2020-03-05T16:28:25Z Jmabsd: however i do appreciate that with some more understanding of what Gerbil does, one may be able to deduce what the code does. but that is beyond me. 2020-03-05T16:28:59Z Jmabsd: brb 2020-03-05T16:29:02Z Jmabsd quit (Quit: Leaving) 2020-03-05T16:29:30Z Jmabsd joined #scheme 2020-03-05T16:29:30Z Jmabsd quit (Changing host) 2020-03-05T16:29:30Z Jmabsd joined #scheme 2020-03-05T16:29:33Z belmarca: I beg to differ. I knew nothing about scheme or syntax-case and reading source was a major part of my bootstrapping process... 2020-03-05T16:29:58Z Jmabsd: belmarca: ok. maybe you had some months of time to devote to it 2020-03-05T16:30:38Z belmarca: here let me show you an example 2020-03-05T16:30:58Z zaifir: Reading good sources is helpful. They don't have to be compiler sources. 2020-03-05T16:31:43Z jcowan: "Technical prose is immortal." 2020-03-05T16:32:04Z jcowan: "Code by itself can never say *why*." 2020-03-05T16:32:19Z belmarca: zaifir I agree but then what are macros if not compilers? 2020-03-05T16:36:49Z Jmabsd: question, the #'( form , will function as a kind of template definition 2020-03-05T16:37:00Z belmarca: #' = syntax 2020-03-05T16:37:07Z belmarca: #'something ==> (syntax something) 2020-03-05T16:37:13Z zaifir: Monadic pure :) 2020-03-05T16:37:14Z Jmabsd: in the example above, #'( expr0 ) means basically ,expr0 2020-03-05T16:37:23Z belmarca: no 2020-03-05T16:37:25Z Jmabsd: and #'(expr1 ...) means ,@expr1+rest 2020-03-05T16:37:32Z belmarca: #'(expr0) => (syntax expr0) 2020-03-05T16:37:44Z Jmabsd: and what does that mean? 2020-03-05T16:38:08Z Jmabsd: in the begin0 example pasted here 16 minutes ago, #'( expr0 expr1 ... seem ot have that meaning 2020-03-05T16:38:14Z Jmabsd: '#( inside |syntax-case| that is 2020-03-05T16:38:22Z belmarca: see the docs I shared 2020-03-05T16:38:23Z zaifir: Jmabsd: Identifiers in a syntax object will be hygienically renamed. 2020-03-05T16:38:26Z belmarca: guile ones e.g. 2020-03-05T16:39:40Z belmarca: heading "Syntax: syntax form" 2020-03-05T16:40:29Z Jmabsd: cool ok, will 2020-03-05T16:40:58Z belmarca: it will probably clear up some confusion you have, it is a good doc 2020-03-05T16:40:58Z zaifir: Jmabsd: Dybvig's intro paper on syntax-case is really useful https://www.cs.indiana.edu/~dyb/pubs/bc-syntax-case.pdf 2020-03-05T16:41:04Z belmarca: +1 2020-03-05T16:41:46Z belmarca: there are a ton of resources. for a user, it really is less complicated than it seems. for an implementer... not so sure 2020-03-05T16:42:03Z Jmabsd: zaifir: thanks a ton 2020-03-05T16:42:28Z zaifir: Jmabsd: You're welcome. 2020-03-05T16:42:43Z Jmabsd: btw syntax-case is from 2007!! 2020-03-05T16:42:45Z Jmabsd: so recent! om 2020-03-05T16:42:45Z Jmabsd: g 2020-03-05T16:42:55Z Jmabsd: anything invented after 1978 or so in Scheme is recent 2020-03-05T16:42:58Z Jmabsd: this is like, uber ultra recent 2020-03-05T16:43:15Z Jmabsd: jawdroppingly recent lol 2020-03-05T16:43:49Z zaifir: Very funny. Legitimately new ideas in CS come along less frequently than that. 2020-03-05T16:46:24Z zaifir: I'm still waiting for Haskell, that supposedly bleeding-edge wonder, to have something approaching the elegance of Scheme macros. :) 2020-03-05T16:48:54Z jcowan: Syntax-case was in fact designed in 1992. (I have access to Sources Beyond The Ken of Mere Mortals.) 2020-03-05T16:50:03Z Riastradh: Beyond the Ken, as in the Kent? 2020-03-05T16:50:24Z jcowan: no, as in German kennen 2020-03-05T16:50:43Z Riastradh: I mean like the R. Kent Dybvig. 2020-03-05T16:50:43Z jcowan: specifically an as-yet-unpublished paper by Clinger and Wand that I reviewed 2020-03-05T16:52:15Z jcowan: on the history of hygienic macros, for HOPL IV in June (co-located with PLDI) 2020-03-05T16:52:21Z Jmabsd: jcowan: rly? 2020-03-05T16:52:32Z jcowan: Yes. 2020-03-05T16:53:47Z Jmabsd: why was it only published 15 years later then? 2020-03-05T16:55:16Z belmarca: not sure why you think that 2020-03-05T16:55:18Z belmarca: https://legacy.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp295-326.pdf 2020-03-05T16:56:42Z Jmabsd: belmarca: oh, that is the 1992 syntax-case paper?? 2020-03-05T16:57:24Z belmarca: which I am aware of, yes 2020-03-05T16:57:27Z Jmabsd: interesting, ok great. 2020-03-05T16:57:42Z belmarca: on page 302: Transformers decompose their input using syntax-case and rebuild their output using syntax. 2020-03-05T16:57:53Z belmarca: that's about as concise an explanation you can get 2020-03-05T16:58:02Z zaifir: Wow. 2020-03-05T16:58:42Z belmarca: Jmabsd read page 302 2020-03-05T16:58:57Z Jmabsd: ok 2020-03-05T16:59:10Z belmarca: but keep in mind that implementations have changed 2020-03-05T16:59:46Z belmarca: basically, that's what you get 2020-03-05T16:59:50Z jcowan: 2007 was the first time syntax-case was *standardized*, but that is because Scheme standardization was stuck from 1998 to 2007. 2020-03-05T17:02:34Z zaifir: Why was it "stuck"? 2020-03-05T17:06:35Z jcowan: Politics, including the de facto rule that each member of the committee had a veto on all changes. 2020-03-05T17:06:54Z jao joined #scheme 2020-03-05T17:09:23Z jcowan: R6RS saw the resignation of two editors and was upvoted by 67 to 35, so it was voted in democratically but most development was done in private. 2020-03-05T17:10:35Z zaifir: Interesting. 2020-03-05T17:15:12Z jcowan: R7RS was done completely openly and upvoted by 56 to 7. 2020-03-05T17:15:19Z jcowan: (small, that is) 2020-03-05T17:17:21Z ggole quit (Quit: Leaving) 2020-03-05T17:23:05Z klovett quit 2020-03-05T17:34:34Z phwalkr_ joined #scheme 2020-03-05T17:38:16Z phwalkr quit (Ping timeout: 256 seconds) 2020-03-05T17:41:52Z cpressey quit (Quit: A la prochaine.) 2020-03-05T17:59:42Z klovett joined #scheme 2020-03-05T18:27:04Z titanbiscuit quit (Ping timeout: 258 seconds) 2020-03-05T18:27:32Z titanbiscuit joined #scheme 2020-03-05T18:31:54Z tbisker8 joined #scheme 2020-03-05T18:32:35Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-05T18:43:39Z tbisker8 quit (Ping timeout: 260 seconds) 2020-03-05T18:45:10Z titanbiscuit joined #scheme 2020-03-05T18:45:32Z phwalkr joined #scheme 2020-03-05T18:47:10Z drakonis joined #scheme 2020-03-05T18:48:45Z phwalkr_ quit (Ping timeout: 240 seconds) 2020-03-05T19:10:53Z terpri quit (Remote host closed the connection) 2020-03-05T19:11:06Z hugh_marera joined #scheme 2020-03-05T19:12:54Z drakonis quit (Ping timeout: 256 seconds) 2020-03-05T19:22:03Z luni joined #scheme 2020-03-05T19:35:26Z fzac joined #scheme 2020-03-05T19:38:20Z Jmabsd quit (Quit: Leaving) 2020-03-05T19:41:03Z oni-on-ion quit (Ping timeout: 258 seconds) 2020-03-05T19:49:39Z TCZ joined #scheme 2020-03-05T19:52:45Z luni quit (Remote host closed the connection) 2020-03-05T20:04:33Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-05T20:05:22Z ArthurStrong joined #scheme 2020-03-05T20:12:38Z smazga quit (Ping timeout: 256 seconds) 2020-03-05T20:18:53Z Naptra quit (Remote host closed the connection) 2020-03-05T20:25:18Z oni-on-ion joined #scheme 2020-03-05T20:26:40Z coffeeturtle quit (Remote host closed the connection) 2020-03-05T20:29:00Z smazga joined #scheme 2020-03-05T20:32:05Z phwalkr quit 2020-03-05T20:34:39Z teardown joined #scheme 2020-03-05T20:48:52Z travv0 left #scheme 2020-03-05T20:54:43Z luni joined #scheme 2020-03-05T20:59:06Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-05T21:18:45Z gwatt quit (Ping timeout: 272 seconds) 2020-03-05T21:19:01Z gwatt joined #scheme 2020-03-05T21:24:05Z klovett quit 2020-03-05T21:39:30Z TCZ quit (Quit: Leaving) 2020-03-05T21:51:25Z TCZ joined #scheme 2020-03-05T21:59:57Z izh_ joined #scheme 2020-03-05T22:00:38Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-05T22:10:21Z aeth: Riastradh: Thanks for nerd sniping me. https://www.xkcd.com/356/ 2020-03-05T22:10:40Z aeth: Riastradh: Now I'm doing a pattern matching language instead of doing a Scheme, apparently. :-p 2020-03-05T22:12:24Z aeth: It's fine, though. I process patterns for combining simple characters and strings. Now I just need to add in REPEAT (and change it to semantically be 0+) and RANGE, and restrict NOT to RANGE and UNION, where UNION is non-recursive unlike OR, making NOT UNION into complement. 2020-03-05T22:12:41Z aeth: UNION will only be able to contain characters, ranges, and special classes (like whitespace). 2020-03-05T22:13:28Z aeth: And after all of that, I think I have something equivalent to regex, to the point where I could even just turn a simple regex language (:re "A|B") into (:or #\A #\B) and so on. 2020-03-05T22:14:19Z aeth: (Well, I'll also have to do the pattern stepping on recursive patterns with recursive CONDs instead of non-recursively on WHENs, but recursion isn't that hard.) 2020-03-05T22:15:01Z titanbiscuit quit (Ping timeout: 268 seconds) 2020-03-05T22:16:31Z aeth: At which point I can assign names to patterns like ((digit (:range #\0 #\9)) (hex-digit (:or digit (:range #\a #\f)))) which gives me almost the complete grammar, with the caveat that for any non-Unicode-code-char CL, the macro would have to manually assign the Unicode numeric character values for RANGE to be portable. 2020-03-05T22:17:23Z izh_ quit (Quit: Leaving) 2020-03-05T22:17:47Z hugh_marera quit (Quit: hugh_marera) 2020-03-05T22:18:59Z titanbiscuit joined #scheme 2020-03-05T22:19:25Z aeth: All of this to have a more general version of something I could have had a passable good-enough? for Scheme version of last weekend... :-p 2020-03-05T22:21:52Z klovett joined #scheme 2020-03-05T22:24:07Z titanbiscuit quit (Ping timeout: 255 seconds) 2020-03-05T22:24:33Z titanbiscuit joined #scheme 2020-03-05T22:33:10Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-05T22:35:03Z titanbiscuit joined #scheme 2020-03-05T22:43:31Z titanbiscuit quit (Ping timeout: 258 seconds) 2020-03-05T22:44:39Z titanbiscuit joined #scheme 2020-03-05T22:44:47Z drakonis joined #scheme 2020-03-05T22:45:19Z drakonis quit (Client Quit) 2020-03-05T22:45:54Z drakonis joined #scheme 2020-03-05T22:48:40Z tbisker8 joined #scheme 2020-03-05T22:48:59Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-05T22:53:37Z tbisker8 quit (Read error: Connection reset by peer) 2020-03-05T22:54:07Z titanbiscuit joined #scheme 2020-03-05T22:56:07Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-05T23:01:16Z drakonis quit (Ping timeout: 256 seconds) 2020-03-05T23:02:04Z fzac quit (Remote host closed the connection) 2020-03-05T23:02:23Z drakonis joined #scheme 2020-03-05T23:02:39Z titanbiscuit quit (Ping timeout: 260 seconds) 2020-03-05T23:04:35Z titanbiscuit joined #scheme 2020-03-05T23:08:57Z drakonis quit (Ping timeout: 272 seconds) 2020-03-05T23:09:58Z clarvoe joined #scheme 2020-03-05T23:10:42Z drakonis joined #scheme 2020-03-05T23:13:23Z titanbiscuit quit (Ping timeout: 260 seconds) 2020-03-05T23:16:11Z titanbiscuit joined #scheme 2020-03-05T23:21:55Z clarvoe quit (Remote host closed the connection) 2020-03-05T23:22:42Z f8l quit (Remote host closed the connection) 2020-03-05T23:24:04Z f8l joined #scheme 2020-03-05T23:24:25Z titanbiscuit quit (Ping timeout: 255 seconds) 2020-03-05T23:24:50Z lritter quit (Ping timeout: 240 seconds) 2020-03-05T23:25:07Z titanbiscuit joined #scheme 2020-03-05T23:28:59Z smazga quit (Quit: leaving) 2020-03-05T23:32:10Z TCZ quit (Quit: Leaving) 2020-03-05T23:33:27Z titanbiscuit quit (Ping timeout: 260 seconds) 2020-03-05T23:34:40Z titanbiscuit joined #scheme 2020-03-05T23:43:15Z titanbiscuit quit (Ping timeout: 260 seconds) 2020-03-05T23:44:12Z titanbiscuit joined #scheme 2020-03-05T23:50:05Z outtabwz joined #scheme 2020-03-05T23:58:55Z Riastradh: aeth: Do you have an NFA->DFA compiler? 2020-03-06T00:07:28Z whiteline_ quit (Ping timeout: 258 seconds) 2020-03-06T00:07:53Z aeth: Riastradh: I don't think that that's required, actually. I'm aware that full regular expressions require a NFA, but so far everything I'm doing is afaik deterministic. This might be because I error on anything that requires more than 1 lookahead because I can only unread once. 2020-03-06T00:09:48Z aeth: Worst case, this limits the nondeterminism significantly, which case the "create multiple copies" approach #3 is the most straightforward. https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton#Implementation 2020-03-06T00:14:51Z faLUCE quit (Quit: Konversation terminated!) 2020-03-06T00:16:24Z aeth: The only complication I can find in Scheme itself is '("#t" "#true") for true. Now, this still can be handled manually with one lookahead because it's essentially something like the pair of patterns '((:re "#t[^r]") "#true") but then I'd need a directive to tell it to disregard and unread (rather than tokenize) the [^r] if [^r] is whitespace or ) or something. 2020-03-06T00:17:31Z aeth: (false is similar, of course) 2020-03-06T00:18:22Z aeth: I could also pull a CL and treat # as a reader macro dispatch and avoid that altogether, though. 2020-03-06T00:19:27Z aeth: I kind of want to implement delimited reader macros, i.e. #foo would automatically know to stop at #\) or #\Space and #foo(...) would automatically stop at #\ 2020-03-06T00:19:36Z aeth: sorry, at #\), but actually balance the parens, too. 2020-03-06T00:19:46Z aeth: so you could do #foo((...)...) and it would know 2020-03-06T00:26:46Z drakonis quit (Ping timeout: 240 seconds) 2020-03-06T00:27:33Z luni quit (Remote host closed the connection) 2020-03-06T00:29:51Z aeth: Actually, I think I can permit something like '("#t" "#true") as long as I have an accept-and-unread internal pattern and transform '("#t" "#true") to accept and unread if not #\r. And maybe this added sophistication is going to start getting things into the territory of more complicate states. 2020-03-06T00:30:48Z f8l quit (Remote host closed the connection) 2020-03-06T00:32:04Z f8l joined #scheme 2020-03-06T00:39:32Z epony quit (Quit: sysupgrades) 2020-03-06T00:40:27Z skapata joined #scheme 2020-03-06T00:41:36Z aeth: hmm, I could probably just call it :else 2020-03-06T00:42:53Z aeth: But I'd really want to match on whitespace or #\) 2020-03-06T00:47:06Z nly joined #scheme 2020-03-06T00:48:13Z epony joined #scheme 2020-03-06T00:51:20Z torbo joined #scheme 2020-03-06T00:51:42Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-06T00:54:17Z whiteline_ joined #scheme 2020-03-06T01:01:54Z outtabwz left #scheme 2020-03-06T01:02:22Z torbo quit (Remote host closed the connection) 2020-03-06T01:02:59Z outtabwz joined #scheme 2020-03-06T01:09:04Z f8l quit (Remote host closed the connection) 2020-03-06T01:10:18Z f8l joined #scheme 2020-03-06T01:13:54Z oni-on-ion joined #scheme 2020-03-06T01:19:58Z X-Scale` joined #scheme 2020-03-06T01:21:43Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-06T01:23:03Z X-Scale joined #scheme 2020-03-06T01:24:46Z X-Scale` quit (Ping timeout: 240 seconds) 2020-03-06T01:30:35Z titanbiscuit quit (Ping timeout: 260 seconds) 2020-03-06T01:31:34Z f8l quit (Remote host closed the connection) 2020-03-06T01:32:57Z f8l joined #scheme 2020-03-06T01:33:29Z titanbiscuit joined #scheme 2020-03-06T01:34:49Z f8l quit (Remote host closed the connection) 2020-03-06T01:36:03Z f8l joined #scheme 2020-03-06T01:37:56Z zaifir quit (Ping timeout: 258 seconds) 2020-03-06T01:38:28Z oxum quit (Ping timeout: 256 seconds) 2020-03-06T01:39:55Z zaifir joined #scheme 2020-03-06T01:39:55Z oxum joined #scheme 2020-03-06T01:41:55Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-06T01:42:12Z titanbiscuit joined #scheme 2020-03-06T01:44:42Z drakonis joined #scheme 2020-03-06T01:48:19Z zaifir quit (Ping timeout: 260 seconds) 2020-03-06T01:50:15Z zaifir joined #scheme 2020-03-06T01:57:04Z oxum_ joined #scheme 2020-03-06T01:58:35Z oxum quit (Ping timeout: 260 seconds) 2020-03-06T01:59:20Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-06T02:00:05Z titanbiscuit joined #scheme 2020-03-06T02:13:12Z titanbiscuit quit (Ping timeout: 258 seconds) 2020-03-06T02:15:02Z mroh quit (Quit: ZNC 1.7.5+deb1 - https://znc.in) 2020-03-06T02:15:21Z mroh joined #scheme 2020-03-06T02:22:16Z stultulo joined #scheme 2020-03-06T02:22:50Z zaifir quit (Ping timeout: 240 seconds) 2020-03-06T02:24:19Z f8l quit (Ping timeout: 258 seconds) 2020-03-06T02:24:20Z stultulo is now known as f8l 2020-03-06T02:24:58Z zaifir joined #scheme 2020-03-06T02:25:15Z zooey joined #scheme 2020-03-06T02:27:52Z stultulo joined #scheme 2020-03-06T02:28:21Z titanbiscuit joined #scheme 2020-03-06T02:28:55Z f8l quit (Ping timeout: 255 seconds) 2020-03-06T02:28:56Z stultulo is now known as f8l 2020-03-06T02:33:26Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-06T02:33:59Z _idkfa quit (Quit: _idkfa) 2020-03-06T02:34:28Z titanbiscuit joined #scheme 2020-03-06T02:35:08Z jao quit (Ping timeout: 256 seconds) 2020-03-06T02:40:46Z titanbiscuit quit (Ping timeout: 265 seconds) 2020-03-06T02:41:47Z titanbiscuit joined #scheme 2020-03-06T02:45:59Z tbisker8 joined #scheme 2020-03-06T02:46:30Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-06T02:50:29Z tbisker8 quit (Read error: Connection reset by peer) 2020-03-06T02:52:01Z titanbiscuit joined #scheme 2020-03-06T02:55:36Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-06T02:55:47Z titanbiscuit joined #scheme 2020-03-06T03:16:16Z terpri joined #scheme 2020-03-06T03:18:28Z terpri quit (Remote host closed the connection) 2020-03-06T03:19:12Z lockywolf joined #scheme 2020-03-06T03:20:06Z terpri joined #scheme 2020-03-06T03:20:06Z lockywolf: hm... make-compiled-procedure from SICP contradicts sicp's exercise 5.9, which says that operations cannot be applied to labels. Not very good. 2020-03-06T03:20:22Z lockywolf: Or, rather, compile-lambda contradicts. 2020-03-06T03:20:23Z terpri quit (Remote host closed the connection) 2020-03-06T03:20:53Z terpri joined #scheme 2020-03-06T03:31:23Z jcowan: aeth: http://home.pipeline.com/~hbaker1/Prag-Parse.html 2020-03-06T03:32:23Z terpri quit (Remote host closed the connection) 2020-03-06T03:32:54Z terpri joined #scheme 2020-03-06T03:36:23Z terpri quit (Remote host closed the connection) 2020-03-06T03:36:26Z teapeelsdeer joined #scheme 2020-03-06T03:38:50Z lockywolf_ joined #scheme 2020-03-06T03:41:26Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-06T04:04:10Z teapeelsdeer quit (Remote host closed the connection) 2020-03-06T04:04:43Z skapata quit (Ping timeout: 272 seconds) 2020-03-06T04:07:57Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-06T04:24:31Z skapata joined #scheme 2020-03-06T04:36:24Z skapata quit (Quit: Ĝis!) 2020-03-06T04:48:25Z Khisanth quit (Ping timeout: 255 seconds) 2020-03-06T04:57:45Z f8l quit (Remote host closed the connection) 2020-03-06T04:59:03Z f8l joined #scheme 2020-03-06T04:59:05Z daviid` joined #scheme 2020-03-06T04:59:15Z CORDIC joined #scheme 2020-03-06T04:59:16Z gravicappa joined #scheme 2020-03-06T04:59:20Z daviid quit (Remote host closed the connection) 2020-03-06T04:59:46Z X-Scale` joined #scheme 2020-03-06T05:01:34Z Khisanth joined #scheme 2020-03-06T05:01:55Z DKordic quit (Ping timeout: 255 seconds) 2020-03-06T05:02:22Z X-Scale quit (Ping timeout: 255 seconds) 2020-03-06T05:02:25Z X-Scale` is now known as X-Scale 2020-03-06T05:03:17Z klovett quit (Remote host closed the connection) 2020-03-06T05:03:53Z klovett joined #scheme 2020-03-06T05:14:44Z lockywolf joined #scheme 2020-03-06T05:15:25Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-06T05:15:52Z lockywolf quit (Remote host closed the connection) 2020-03-06T05:16:17Z lockywolf joined #scheme 2020-03-06T05:30:32Z mgh joined #scheme 2020-03-06T05:32:52Z lockywolf quit (Remote host closed the connection) 2020-03-06T05:33:20Z lockywolf joined #scheme 2020-03-06T05:46:24Z terpri joined #scheme 2020-03-06T05:49:03Z oxum_ quit (Remote host closed the connection) 2020-03-06T05:50:58Z terpri quit (Remote host closed the connection) 2020-03-06T06:03:31Z pounce quit (Ping timeout: 260 seconds) 2020-03-06T06:04:09Z oxum joined #scheme 2020-03-06T06:04:23Z pounce joined #scheme 2020-03-06T06:04:44Z manualcrank quit (Ping timeout: 265 seconds) 2020-03-06T06:05:07Z ArthurStrong quit (Quit: leaving) 2020-03-06T06:06:20Z oxum_ joined #scheme 2020-03-06T06:06:25Z oxum quit (Read error: Connection reset by peer) 2020-03-06T06:14:03Z oxum_ quit (Remote host closed the connection) 2020-03-06T06:14:55Z oxum joined #scheme 2020-03-06T06:16:11Z manualcrank joined #scheme 2020-03-06T06:40:02Z manualcrank quit (Ping timeout: 240 seconds) 2020-03-06T06:40:20Z manualcrank joined #scheme 2020-03-06T06:41:38Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-06T06:41:49Z lockywolf_ joined #scheme 2020-03-06T06:44:31Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-06T06:44:44Z titanbiscuit joined #scheme 2020-03-06T06:58:18Z lockywolf__ joined #scheme 2020-03-06T06:59:49Z uplime- quit (Ping timeout: 255 seconds) 2020-03-06T07:00:01Z uplime joined #scheme 2020-03-06T07:01:17Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-06T07:02:15Z daviid` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-06T07:05:25Z daviid joined #scheme 2020-03-06T07:06:06Z oxum quit (Remote host closed the connection) 2020-03-06T07:12:17Z oxum joined #scheme 2020-03-06T07:19:42Z oxum quit (Remote host closed the connection) 2020-03-06T07:20:44Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-06T07:20:57Z oxum joined #scheme 2020-03-06T07:23:04Z lockywolf joined #scheme 2020-03-06T07:23:52Z lockywolf quit (Remote host closed the connection) 2020-03-06T07:24:19Z lockywolf joined #scheme 2020-03-06T07:24:42Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-06T07:25:13Z titanbiscuit joined #scheme 2020-03-06T07:27:41Z oxum quit (Remote host closed the connection) 2020-03-06T07:28:57Z oxum joined #scheme 2020-03-06T07:34:33Z d4ryus joined #scheme 2020-03-06T07:44:09Z wasamasa: yeah, that 2020-03-06T07:44:28Z wasamasa: it's implemented in CL and says doing the same as well in scheme is an open challenge 2020-03-06T07:44:53Z theruran quit (Quit: Connection closed for inactivity) 2020-03-06T07:46:40Z titanbiscuit quit (Ping timeout: 268 seconds) 2020-03-06T07:47:09Z xelxebar joined #scheme 2020-03-06T07:57:53Z titanbiscuit joined #scheme 2020-03-06T08:01:38Z tbisker8 joined #scheme 2020-03-06T08:01:53Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-06T08:05:41Z oxum quit (Read error: Connection reset by peer) 2020-03-06T08:06:28Z oxum joined #scheme 2020-03-06T08:10:05Z tbisker8 quit (Ping timeout: 258 seconds) 2020-03-06T08:13:48Z hugh_marera joined #scheme 2020-03-06T08:30:28Z titanbiscuit joined #scheme 2020-03-06T08:35:00Z titanbiscuit quit (Ping timeout: 258 seconds) 2020-03-06T08:56:51Z civodul joined #scheme 2020-03-06T09:05:38Z titanbiscuit joined #scheme 2020-03-06T09:07:39Z luni joined #scheme 2020-03-06T09:11:05Z tbisker8 joined #scheme 2020-03-06T09:11:40Z titanbiscuit quit (Ping timeout: 255 seconds) 2020-03-06T09:19:17Z oxum quit (Read error: Connection reset by peer) 2020-03-06T09:19:25Z oxum joined #scheme 2020-03-06T09:27:48Z gravicappa quit (Ping timeout: 268 seconds) 2020-03-06T09:41:02Z hugh_marera quit (Quit: hugh_marera) 2020-03-06T09:44:33Z oxum quit (Remote host closed the connection) 2020-03-06T09:45:22Z oxum joined #scheme 2020-03-06T09:47:04Z tbisker8 quit (Ping timeout: 258 seconds) 2020-03-06T09:47:36Z titanbiscuit joined #scheme 2020-03-06T09:51:58Z titanbiscuit quit (Excess Flood) 2020-03-06T09:52:37Z lockywolf quit (Ping timeout: 255 seconds) 2020-03-06T09:53:45Z titanbiscuit joined #scheme 2020-03-06T09:58:31Z klovett quit (Remote host closed the connection) 2020-03-06T09:58:50Z klovett joined #scheme 2020-03-06T10:05:43Z oxum_ joined #scheme 2020-03-06T10:05:43Z oxum quit (Read error: Connection reset by peer) 2020-03-06T10:13:57Z gravicappa joined #scheme 2020-03-06T10:14:38Z oxum_ quit (Read error: Connection reset by peer) 2020-03-06T10:14:54Z oxum joined #scheme 2020-03-06T10:15:06Z Oddity quit (Ping timeout: 265 seconds) 2020-03-06T10:22:38Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-06T10:23:26Z Oddity joined #scheme 2020-03-06T10:24:41Z lritter joined #scheme 2020-03-06T10:35:42Z luni quit (Remote host closed the connection) 2020-03-06T10:47:23Z titanbiscuit joined #scheme 2020-03-06T10:52:19Z titanbiscuit quit (Ping timeout: 265 seconds) 2020-03-06T10:54:45Z titanbiscuit joined #scheme 2020-03-06T10:57:40Z titanbiscuit quit (Excess Flood) 2020-03-06T11:00:51Z lavaflow quit (Ping timeout: 260 seconds) 2020-03-06T11:09:29Z titanbiscuit joined #scheme 2020-03-06T11:12:36Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-06T11:13:16Z titanbiscuit joined #scheme 2020-03-06T11:13:18Z ggole joined #scheme 2020-03-06T11:20:51Z titanbiscuit quit (Ping timeout: 240 seconds) 2020-03-06T11:33:36Z lockywolf joined #scheme 2020-03-06T11:39:10Z lockywolf_ joined #scheme 2020-03-06T11:41:58Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-06T11:43:43Z xkapastel joined #scheme 2020-03-06T11:48:42Z coffeeturtle joined #scheme 2020-03-06T11:52:39Z heredoc quit (Ping timeout: 246 seconds) 2020-03-06T12:07:41Z jao joined #scheme 2020-03-06T12:08:12Z Zenton quit (Ping timeout: 265 seconds) 2020-03-06T12:13:36Z lockywolf__ joined #scheme 2020-03-06T12:16:09Z zig: I just read some popular python code, I am happy there is no similar garbage in scheme. 2020-03-06T12:16:11Z titanbiscuit joined #scheme 2020-03-06T12:16:23Z zig: a case for less is better. 2020-03-06T12:16:27Z lockywolf_ quit (Ping timeout: 260 seconds) 2020-03-06T12:16:36Z luni joined #scheme 2020-03-06T12:16:53Z lockywolf_ joined #scheme 2020-03-06T12:17:39Z lockywolf_ quit (Remote host closed the connection) 2020-03-06T12:17:50Z lockywolf__ quit (Read error: Connection reset by peer) 2020-03-06T12:18:08Z lockywolf_ joined #scheme 2020-03-06T12:19:19Z jao quit (Ping timeout: 255 seconds) 2020-03-06T12:22:19Z titanbiscuit quit (Ping timeout: 268 seconds) 2020-03-06T12:27:01Z luni: i would like to initialize two vectors... is there a difference in terms of efficiency between (1) make two vectors and (2) make a vector and after a copy of the first or it is almost the same ? 2020-03-06T12:28:48Z titanbiscuit joined #scheme 2020-03-06T12:34:09Z terpri joined #scheme 2020-03-06T12:34:11Z oni-on-ion quit (Remote host closed the connection) 2020-03-06T12:34:34Z oni-on-ion joined #scheme 2020-03-06T12:37:09Z lockywolf__ joined #scheme 2020-03-06T12:39:26Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-06T12:44:47Z TCZ joined #scheme 2020-03-06T12:55:38Z tbisker8 joined #scheme 2020-03-06T12:56:05Z titanbiscuit quit (Ping timeout: 272 seconds) 2020-03-06T12:58:50Z tbisker8 quit (Excess Flood) 2020-03-06T12:59:06Z titanbiscuit joined #scheme 2020-03-06T13:01:10Z lucasb joined #scheme 2020-03-06T13:01:25Z kjak quit (Ping timeout: 258 seconds) 2020-03-06T13:03:38Z xelxebar quit (Remote host closed the connection) 2020-03-06T13:04:42Z titanbiscuit quit (Read error: Connection reset by peer) 2020-03-06T13:05:21Z titanbiscuit joined #scheme 2020-03-06T13:06:19Z xelxebar joined #scheme 2020-03-06T13:09:46Z v_m_v joined #scheme 2020-03-06T13:12:52Z TCZ quit (Quit: Leaving) 2020-03-06T13:21:38Z heredoc joined #scheme 2020-03-06T13:32:33Z TCZ joined #scheme 2020-03-06T13:34:26Z titanbiscuit quit (Ping timeout: 240 seconds) 2020-03-06T13:34:44Z titanbiscuit joined #scheme 2020-03-06T13:52:39Z luni quit (Remote host closed the connection) 2020-03-06T13:58:27Z titanbiscuit quit (Ping timeout: 240 seconds) 2020-03-06T14:03:10Z montxero joined #scheme 2020-03-06T14:08:41Z TCZ quit (Quit: Leaving) 2020-03-06T14:19:27Z skapata joined #scheme 2020-03-06T14:20:26Z oxum_ joined #scheme 2020-03-06T14:21:16Z oxum_ quit (Remote host closed the connection) 2020-03-06T14:21:59Z montxero quit (Remote host closed the connection) 2020-03-06T14:22:40Z titanbiscuit joined #scheme 2020-03-06T14:23:16Z montxero joined #scheme 2020-03-06T14:23:31Z oxum quit (Ping timeout: 255 seconds) 2020-03-06T14:31:40Z lockywolf__ quit (Remote host closed the connection) 2020-03-06T14:32:04Z lockywolf__ joined #scheme 2020-03-06T14:33:09Z lockywolf__ quit (Remote host closed the connection) 2020-03-06T14:33:33Z lockywolf__ joined #scheme 2020-03-06T14:35:41Z coffeeturtle quit (Quit: leaving) 2020-03-06T14:35:43Z titanbiscuit quit (Ping timeout: 258 seconds) 2020-03-06T14:36:21Z titanbiscuit joined #scheme 2020-03-06T14:42:23Z titanbiscuit quit (Ping timeout: 265 seconds) 2020-03-06T14:42:34Z hugh_marera joined #scheme 2020-03-06T14:42:54Z titanbiscuit joined #scheme 2020-03-06T14:47:50Z titanbiscuit quit (Ping timeout: 256 seconds) 2020-03-06T14:51:44Z oxum joined #scheme 2020-03-06T14:52:00Z titanbiscuit joined #scheme 2020-03-06T14:56:20Z titanbiscuit quit (Excess Flood) 2020-03-06T14:57:07Z titanbiscuit joined #scheme 2020-03-06T14:58:43Z oxum quit (Ping timeout: 258 seconds) 2020-03-06T14:59:07Z lavaflow joined #scheme 2020-03-06T15:02:47Z tbisker8 joined #scheme 2020-03-06T15:03:34Z titanbiscuit quit (Ping timeout: 255 seconds) 2020-03-06T15:04:04Z oxum joined #scheme 2020-03-06T15:34:35Z v_m_v quit (Ping timeout: 265 seconds) 2020-03-06T15:39:46Z mdhughes: luni: Depends on if the implementation has a low-level vector-copy or does it in library, you'd have to test it. 2020-03-06T15:40:47Z drakonis joined #scheme 2020-03-06T15:42:48Z Zenton joined #scheme 2020-03-06T15:44:00Z luni joined #scheme 2020-03-06T16:05:27Z drakonis quit (Ping timeout: 272 seconds) 2020-03-06T16:09:38Z xlei quit (Ping timeout: 258 seconds) 2020-03-06T16:11:48Z drakonis joined #scheme 2020-03-06T16:16:58Z RRedcroft joined #scheme 2020-03-06T16:18:11Z smazga joined #scheme 2020-03-06T16:23:33Z gwatt: luni: What is the intended usage such that a potential difference in speed matters? 2020-03-06T16:24:02Z montxero quit (Ping timeout: 240 seconds) 2020-03-06T16:25:44Z luni: i was trying to do an exercise porting to Scheme https://github.com/barbagroup/CFDPython/blob/master/lessons/06_Array_Operations_with_NumPy.ipynb 2020-03-06T16:28:21Z RRedcroft left #scheme 2020-03-06T16:36:29Z drakonis quit (Ping timeout: 272 seconds) 2020-03-06T16:42:39Z RRedcroft joined #scheme 2020-03-06T16:43:28Z whiteline_ quit (Remote host closed the connection) 2020-03-06T16:44:09Z whiteline_ joined #scheme 2020-03-06T16:44:54Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-06T16:47:51Z whiteline__ joined #scheme 2020-03-06T16:48:27Z whiteline_ quit (Read error: Connection reset by peer) 2020-03-06T16:54:21Z jao joined #scheme 2020-03-06T17:05:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-06T17:06:06Z ArthurStrong joined #scheme 2020-03-06T17:06:30Z xelxebar joined #scheme 2020-03-06T17:09:07Z RRedcroft quit (Ping timeout: 255 seconds) 2020-03-06T17:13:08Z klovett quit 2020-03-06T17:16:38Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-06T17:17:37Z luni quit (Remote host closed the connection) 2020-03-06T17:36:58Z skapata quit (Remote host closed the connection) 2020-03-06T17:56:30Z xlei joined #scheme 2020-03-06T18:21:07Z xlei quit (Ping timeout: 258 seconds) 2020-03-06T18:22:14Z ggole quit (Quit: Leaving) 2020-03-06T18:23:57Z xlei joined #scheme 2020-03-06T18:32:14Z civodul joined #scheme 2020-03-06T18:34:05Z klovett joined #scheme 2020-03-06T18:52:10Z kjak joined #scheme 2020-03-06T19:14:26Z luni joined #scheme 2020-03-06T19:31:13Z TCZ joined #scheme 2020-03-06T19:31:37Z abralek joined #scheme 2020-03-06T19:59:54Z ArthurStrong quit (Quit: leaving) 2020-03-06T20:18:18Z luni quit (Remote host closed the connection) 2020-03-06T20:23:39Z zig: luni: make it work, then make it fast... 2020-03-06T20:30:33Z f8l quit (Remote host closed the connection) 2020-03-06T20:31:51Z f8l joined #scheme 2020-03-06T20:37:13Z stultulo joined #scheme 2020-03-06T20:37:31Z smazga quit (Quit: leaving) 2020-03-06T20:37:55Z f8l quit (Ping timeout: 255 seconds) 2020-03-06T20:37:55Z stultulo is now known as f8l 2020-03-06T20:49:04Z zmt00 joined #scheme 2020-03-06T20:51:06Z zmt01 quit (Ping timeout: 240 seconds) 2020-03-06T21:11:39Z whiteline__ quit (*.net *.split) 2020-03-06T21:11:39Z lloda quit (*.net *.split) 2020-03-06T21:11:39Z outtabwz quit (*.net *.split) 2020-03-06T21:11:39Z zig quit (*.net *.split) 2020-03-06T21:11:39Z ineiros quit (*.net *.split) 2020-03-06T21:11:39Z jxy_ quit (*.net *.split) 2020-03-06T21:11:39Z yosafbridge quit (*.net *.split) 2020-03-06T21:11:39Z stee quit (*.net *.split) 2020-03-06T21:11:40Z r0kc4t quit (*.net *.split) 2020-03-06T21:11:40Z notnotdan quit (*.net *.split) 2020-03-06T21:11:40Z emma quit (*.net *.split) 2020-03-06T21:12:39Z whiteline__ joined #scheme 2020-03-06T21:12:39Z outtabwz joined #scheme 2020-03-06T21:12:39Z lloda joined #scheme 2020-03-06T21:12:39Z zig joined #scheme 2020-03-06T21:12:39Z ineiros joined #scheme 2020-03-06T21:12:39Z jxy_ joined #scheme 2020-03-06T21:12:39Z stee joined #scheme 2020-03-06T21:12:39Z yosafbridge joined #scheme 2020-03-06T21:12:39Z r0kc4t joined #scheme 2020-03-06T21:12:39Z notnotdan joined #scheme 2020-03-06T21:12:39Z emma joined #scheme 2020-03-06T21:13:39Z yosafbridge quit (Max SendQ exceeded) 2020-03-06T21:14:17Z nmeum quit (Remote host closed the connection) 2020-03-06T21:14:59Z yosafbridge joined #scheme 2020-03-06T21:27:18Z TCZ quit (Quit: Leaving) 2020-03-06T21:42:54Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-06T22:05:48Z drakonis joined #scheme 2020-03-06T22:07:36Z lritter quit (Quit: Leaving) 2020-03-06T22:11:04Z klovett quit 2020-03-06T22:28:46Z drakonis quit (Ping timeout: 240 seconds) 2020-03-06T22:37:10Z gravicappa quit (Ping timeout: 255 seconds) 2020-03-06T23:02:03Z drakonis joined #scheme 2020-03-06T23:13:04Z drakonis quit (Ping timeout: 256 seconds) 2020-03-06T23:15:25Z drakonis joined #scheme 2020-03-06T23:22:25Z klovett joined #scheme 2020-03-06T23:34:29Z zaifir quit (Ping timeout: 268 seconds) 2020-03-06T23:36:02Z zaifir joined #scheme 2020-03-06T23:47:56Z skapata joined #scheme 2020-03-06T23:58:26Z drakonis quit (Ping timeout: 240 seconds) 2020-03-07T00:02:31Z zaifir quit (Quit: Eadem mutata resurgo.) 2020-03-07T00:05:00Z zaifir joined #scheme 2020-03-07T00:17:36Z hugh_marera quit (Quit: hugh_marera) 2020-03-07T00:25:25Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-07T00:29:07Z daviid quit (Ping timeout: 260 seconds) 2020-03-07T01:25:29Z X-Scale` joined #scheme 2020-03-07T01:25:40Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-07T01:26:14Z X-Scale` is now known as X-Scale 2020-03-07T01:33:38Z TCZ joined #scheme 2020-03-07T01:33:55Z lockywolf__ quit (Ping timeout: 265 seconds) 2020-03-07T01:34:55Z ArthurStrong joined #scheme 2020-03-07T01:35:35Z daviid joined #scheme 2020-03-07T02:00:50Z ArthurStrong quit (Ping timeout: 240 seconds) 2020-03-07T02:02:45Z ArthurStrong joined #scheme 2020-03-07T02:10:40Z ArthurStrong quit (Ping timeout: 256 seconds) 2020-03-07T02:11:15Z ArthurStrong joined #scheme 2020-03-07T02:18:25Z terpri quit (Remote host closed the connection) 2020-03-07T02:18:56Z terpri joined #scheme 2020-03-07T02:38:26Z TCZ quit (Remote host closed the connection) 2020-03-07T02:40:10Z jao quit (Ping timeout: 255 seconds) 2020-03-07T02:42:00Z TCZ joined #scheme 2020-03-07T02:44:42Z TCZ quit (Client Quit) 2020-03-07T02:50:20Z ahungry joined #scheme 2020-03-07T03:36:04Z lockywolf joined #scheme 2020-03-07T03:37:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T03:37:37Z lockywolf joined #scheme 2020-03-07T03:58:13Z marusich joined #scheme 2020-03-07T04:23:50Z marusich quit (Ping timeout: 256 seconds) 2020-03-07T04:29:59Z marusich joined #scheme 2020-03-07T04:42:32Z marusich quit (Quit: Leaving) 2020-03-07T04:43:44Z theruran joined #scheme 2020-03-07T04:49:48Z skapata quit (Quit: Ĝis!) 2020-03-07T05:08:36Z ArthurStrong quit (Ping timeout: 256 seconds) 2020-03-07T05:15:33Z ArthurStrong joined #scheme 2020-03-07T05:19:20Z klovett quit (Read error: Connection reset by peer) 2020-03-07T05:21:41Z oni-on-ion quit (Remote host closed the connection) 2020-03-07T05:22:04Z oni-on-ion joined #scheme 2020-03-07T05:25:17Z gravicappa joined #scheme 2020-03-07T05:30:32Z klovett joined #scheme 2020-03-07T05:31:34Z daviid quit (Ping timeout: 258 seconds) 2020-03-07T05:34:52Z klovett quit (Remote host closed the connection) 2020-03-07T05:35:30Z klovett joined #scheme 2020-03-07T05:38:17Z ArthurStrong quit (Quit: leaving) 2020-03-07T05:48:12Z ahungry quit (Remote host closed the connection) 2020-03-07T06:41:11Z lockywolf_ joined #scheme 2020-03-07T06:42:08Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:42:42Z lockywolf_ joined #scheme 2020-03-07T06:43:46Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-07T06:44:08Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:44:37Z lockywolf_ joined #scheme 2020-03-07T06:45:45Z hugh_marera joined #scheme 2020-03-07T06:46:08Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:46:41Z lockywolf_ joined #scheme 2020-03-07T06:48:08Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:48:39Z lockywolf_ joined #scheme 2020-03-07T06:49:38Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:50:12Z lockywolf_ joined #scheme 2020-03-07T06:51:08Z lockywolf_ quit (Remote host closed the connection) 2020-03-07T06:52:01Z lockywolf joined #scheme 2020-03-07T06:53:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T06:53:39Z lockywolf joined #scheme 2020-03-07T06:55:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T06:55:35Z lockywolf joined #scheme 2020-03-07T06:56:39Z lockywolf quit (Remote host closed the connection) 2020-03-07T06:57:06Z lockywolf joined #scheme 2020-03-07T06:58:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T06:59:07Z lockywolf joined #scheme 2020-03-07T07:00:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:01:10Z lockywolf joined #scheme 2020-03-07T07:02:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:03:07Z lockywolf joined #scheme 2020-03-07T07:04:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:05:11Z lockywolf joined #scheme 2020-03-07T07:06:09Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:06:40Z lockywolf joined #scheme 2020-03-07T07:08:09Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:08:39Z lockywolf joined #scheme 2020-03-07T07:10:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:10:38Z lockywolf joined #scheme 2020-03-07T07:11:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:12:11Z lockywolf joined #scheme 2020-03-07T07:13:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:13:33Z lockywolf joined #scheme 2020-03-07T07:14:39Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:15:03Z lockywolf joined #scheme 2020-03-07T07:16:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:16:37Z lockywolf joined #scheme 2020-03-07T07:17:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:18:07Z lockywolf joined #scheme 2020-03-07T07:19:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:20:10Z lockywolf joined #scheme 2020-03-07T07:21:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:22:08Z lockywolf joined #scheme 2020-03-07T07:23:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:23:37Z lockywolf joined #scheme 2020-03-07T07:25:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:26:21Z lockywolf joined #scheme 2020-03-07T07:27:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:27:35Z lockywolf joined #scheme 2020-03-07T07:28:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:29:12Z lockywolf joined #scheme 2020-03-07T07:30:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:31:03Z lockywolf joined #scheme 2020-03-07T07:31:38Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:32:12Z lockywolf joined #scheme 2020-03-07T07:33:08Z lockywolf quit (Remote host closed the connection) 2020-03-07T07:33:37Z lockywolf joined #scheme 2020-03-07T08:10:19Z hugh_marera quit (Quit: hugh_marera) 2020-03-07T08:12:00Z ArthurStrong joined #scheme 2020-03-07T08:14:06Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-07T08:16:03Z ArthurStrong quit (Client Quit) 2020-03-07T08:20:11Z elderK joined #scheme 2020-03-07T08:24:56Z nullus joined #scheme 2020-03-07T08:40:59Z abralek quit (Ping timeout: 260 seconds) 2020-03-07T08:41:27Z abralek joined #scheme 2020-03-07T08:57:06Z elderK quit (Quit: WeeChat 1.9) 2020-03-07T09:21:56Z hugh_marera joined #scheme 2020-03-07T09:37:34Z daviid joined #scheme 2020-03-07T09:39:47Z abralek quit (Read error: Connection reset by peer) 2020-03-07T09:41:34Z abralek joined #scheme 2020-03-07T10:03:21Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-07T10:05:44Z X-Scale` joined #scheme 2020-03-07T10:06:25Z X-Scale` is now known as X-Scale 2020-03-07T10:19:19Z xelxebar_ joined #scheme 2020-03-07T10:19:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-07T10:31:00Z liulanghaitun joined #scheme 2020-03-07T10:36:54Z liulanghaitun quit (Quit: Leaving.) 2020-03-07T10:38:57Z lritter joined #scheme 2020-03-07T10:40:19Z jao joined #scheme 2020-03-07T10:48:32Z abralek quit (Read error: Connection reset by peer) 2020-03-07T10:52:00Z jao quit (Ping timeout: 256 seconds) 2020-03-07T10:53:50Z abralek joined #scheme 2020-03-07T10:59:43Z zooey quit (Ping timeout: 240 seconds) 2020-03-07T11:00:17Z xelxebar_ quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-03-07T11:02:59Z zooey joined #scheme 2020-03-07T11:03:16Z xelxebar joined #scheme 2020-03-07T11:22:05Z zooey quit (Remote host closed the connection) 2020-03-07T11:22:14Z gabot quit (Ping timeout: 268 seconds) 2020-03-07T11:22:24Z zooey joined #scheme 2020-03-07T11:23:48Z gabot joined #scheme 2020-03-07T11:28:27Z skapata joined #scheme 2020-03-07T11:45:01Z lockywolf joined #scheme 2020-03-07T11:45:35Z lockywolf: Is there a standard idiom for "apply the same thing X times to the result of the previous applications"? 2020-03-07T11:46:42Z lockywolf: So that (cdddr x) = (apply-n-times 3 cdr x) 2020-03-07T11:50:53Z wasamasa: isn't that something like the fixpoint exercise in SICP? 2020-03-07T11:52:11Z civodul joined #scheme 2020-03-07T11:53:28Z lockywolf: There are several tasks like this, but I solved all of them using a pedestrian approach. 2020-03-07T11:54:19Z lockywolf: With a nested let 2020-03-07T11:55:01Z wasamasa: the closest in srfi-1 is unfold 2020-03-07T11:58:38Z xelxebar quit (Remote host closed the connection) 2020-03-07T12:02:43Z lockywolf: thank you. I'll have a look 2020-03-07T12:05:15Z abralek quit (Ping timeout: 240 seconds) 2020-03-07T12:06:27Z abralek joined #scheme 2020-03-07T12:07:56Z nly quit (Ping timeout: 258 seconds) 2020-03-07T12:10:50Z TCZ joined #scheme 2020-03-07T12:17:04Z klovett quit (Ping timeout: 255 seconds) 2020-03-07T12:23:18Z xelxebar joined #scheme 2020-03-07T12:25:07Z CORDIC: lockywolf: "(iteration n f)" ( W:Iteration )? "(= n (iteration n (+ 1) 0))". "(iteration n)" is, sometimes called, _a_ ""Church Numeral"", not that it is important. 2020-03-07T12:47:35Z lockywolf: This "extended environment" structure of (scheme) seems so unnatural to me as to a human... I can't deny its beauty, as well as its efficiency as a way of structuring the thinking process, but I would have never come to it myself. 2020-03-07T12:48:18Z wasamasa: argument to nature, lol 2020-03-07T12:48:27Z lockywolf: Storing environment in a hash table seems an order of magnitude more natural. 2020-03-07T12:48:43Z lockywolf: wasamasa, well, it's not an argument, as I am not stating anything 2020-03-07T12:49:56Z wasamasa: hash tables seem so unnatural 2020-03-07T12:50:05Z outtabwz: lockywolf: i feel the same, but it might come from school 2020-03-07T12:50:08Z wasamasa: numbers are an order of magnitude more natural 2020-03-07T12:50:18Z lockywolf: ¯\_(ツ)_/¯ 2020-03-07T12:50:40Z wasamasa: integers that is 2020-03-07T12:50:58Z outtabwz: nature grows things recursively 2020-03-07T12:51:18Z wasamasa: why else would they call them natural numbers 2020-03-07T12:51:31Z outtabwz: i conclude that my feelings are not very important 2020-03-07T12:51:33Z skapata quit (Remote host closed the connection) 2020-03-07T12:51:56Z lockywolf: frankly, if I were modelling my own brain, I'd model environments as Bloom filters... 2020-03-07T12:52:30Z wasamasa: incapable of storing anything properly? 2020-03-07T12:52:40Z lockywolf: yeah, but "rings the bell" 2020-03-07T12:54:14Z lockywolf: python's environments are hash tables, aren't they? 2020-03-07T12:54:30Z wasamasa: yes 2020-03-07T12:59:56Z wasamasa: if you ask yourself why scheme isn't like that, take a good look at the standard 2020-03-07T13:00:43Z wasamasa: it's tiny, yet gives a great degree of freedom to implementors 2020-03-07T13:00:56Z wasamasa: one implementation could go for extra flexibility, another one trade it for speed 2020-03-07T13:01:14Z wasamasa: or decide for neither and instead provide introspection capabilities 2020-03-07T13:03:12Z lockywolf: wasamasa, I think that the standard doesn't prohibit implementing environments (or at least frames) as hashes 2020-03-07T13:03:28Z wasamasa: at the same time it doesn't mandate it either 2020-03-07T13:03:47Z lockywolf: "tiny" is a manipulation 2020-03-07T13:04:16Z lockywolf: in fact I had it open before me for the past 6 months, and still don't understand more than a half of it 2020-03-07T13:04:30Z lockywolf: tininess is not defined in the number of pages 2020-03-07T13:05:04Z wasamasa: would you prefer the standard prescribing step-by-step algorithms? 2020-03-07T13:05:12Z lockywolf: hm... 2020-03-07T13:05:17Z wasamasa: that's the route they went with JS 2020-03-07T13:05:29Z lockywolf: JS is an interesting piece of stuff 2020-03-07T13:05:34Z wasamasa: not really 2020-03-07T13:05:51Z lockywolf: it has first-class functions doesn't it? 2020-03-07T13:06:29Z wasamasa: it makes a mess of everything 2020-03-07T13:06:39Z lockywolf: world is a mess 2020-03-07T13:06:53Z wasamasa: for example depending on what function syntax you use, "this" behaves differently 2020-03-07T13:08:05Z lockywolf: also, scheme maintains an illusion of being rigourous, while the places where it is _not_ make you awe 2020-03-07T13:08:41Z wasamasa: you mean the unspecified parts? 2020-03-07T13:09:12Z lockywolf: the top level, for example 2020-03-07T13:09:16Z wasamasa: that's perfectly normal in languages with a spec 2020-03-07T13:09:34Z lockywolf: I'm not saying it's not normal 2020-03-07T13:10:04Z lockywolf: but the world being a mess is also normal 2020-03-07T13:10:37Z wasamasa: imagine having a definition of the toplevel in JS 2020-03-07T13:10:44Z lockywolf: why does the "top level" even exist? 2020-03-07T13:10:54Z wasamasa: what everyone instead does is minimal feature detection to apply runtime-specific code 2020-03-07T13:11:54Z wasamasa: why does the ground even exist? 2020-03-07T13:12:25Z wasamasa: why do we need something to stand on? 2020-03-07T13:12:49Z lockywolf: well, I'm serious. A program could be interpreted as one huge lambda 2020-03-07T13:13:12Z wasamasa: that isn't terribly practical 2020-03-07T13:13:19Z lockywolf: repl? 2020-03-07T13:13:31Z wasamasa: the repl is the perfect example why 2020-03-07T13:13:43Z wasamasa: you execute code in series which can interact with previous interactions 2020-03-07T13:14:26Z lucasb joined #scheme 2020-03-07T13:14:26Z wasamasa: good luck doing that if you don't agree on any kind of rule how that's supposed to work 2020-03-07T13:14:58Z wasamasa: at other times you want to pretend there's no interaction that can ruin your optimization efforts 2020-03-07T13:15:32Z lockywolf: well, I don't reject the utility of such places 2020-03-07T13:16:43Z lockywolf: I'm just saying that transitioning between "safe" and "unsafe" parts requires a lot of brainpower on context switching 2020-03-07T13:17:44Z lockywolf: a compiled "packaged" program _could_ be interpreted as a single procedure. 2020-03-07T13:18:40Z wasamasa: what exactly is the usecase where this actually becomes a headache for you? 2020-03-07T13:19:13Z lockywolf: that's an ad-hominem argument 2020-03-07T13:19:23Z wasamasa: no, it's an argument towards practicality 2020-03-07T13:20:09Z lockywolf: someone on this chat was advocating in favour of rigour instead of practicality 2020-03-07T13:21:02Z wasamasa: sure, you can dissect the standards in your quest for the meaning of life 2020-03-07T13:21:03Z lockywolf: scheme could afford being more rigourous, exactly because it is not extremely widely used 2020-03-07T13:21:17Z wasamasa: but if you plan on actually doing something useful, I wouldn't worry too much 2020-03-07T13:22:44Z wasamasa: that's a funny argument, like someone had a business meeting finding "Scheme isn't popular, what should we do? Be more rigorous?" 2020-03-07T13:23:48Z lockywolf: Well, afaiu, so far popularity wasn't the main goal for scheme. 2020-03-07T13:24:07Z wasamasa: yes, but your argument sounds as if it's somehow linked 2020-03-07T13:24:16Z lockywolf: although that may change with -large 2020-03-07T13:25:01Z acarrico quit (Ping timeout: 255 seconds) 2020-03-07T13:25:06Z lockywolf: practicality is not independent of popularity 2020-03-07T13:25:37Z lockywolf: although practicality also implies the question "for what?" 2020-03-07T13:26:09Z wasamasa: whatever people chose to build with it 2020-03-07T13:26:22Z wasamasa: get feedback from someone actually using it for projects 2020-03-07T13:26:33Z wasamasa: and we're back to "Less talk, more experimentation" 2020-03-07T13:27:01Z lockywolf: for example? I wouldn't mind a link to "a list of actually used stuff written in scheme" 2020-03-07T13:27:21Z wasamasa: I write CLI utils and simple web applications 2020-03-07T13:27:36Z wasamasa: sometimes bindings to C libraries for experimentation 2020-03-07T13:28:01Z lockywolf: SICP as a teaching tool and Sussman's scheme-mechanics are valid examples. 2020-03-07T13:28:49Z lockywolf: Gimp's extensions? 2020-03-07T13:29:32Z lockywolf: Not sure I know any though. 2020-03-07T13:30:06Z wasamasa: go to reddit and see people promoting their projects 2020-03-07T13:30:33Z oni_on_ion joined #scheme 2020-03-07T13:30:36Z lockywolf: hm... ok 2020-03-07T13:31:11Z wasamasa: sometimes it happens in here or implementation-specific channels 2020-03-07T13:31:18Z wasamasa: look at other people's github accounts 2020-03-07T13:31:44Z wasamasa: it's kind of tragic that people prefer discussing the language than things they made with it 2020-03-07T13:32:01Z lockywolf: a language is publicly available 2020-03-07T13:32:35Z lockywolf: doing things in such a way that you are not ashamed of showing your work is another story 2020-03-07T13:33:04Z wasamasa: I'm currently writing yet another scraping program 2020-03-07T13:33:16Z oni-on-ion quit (Ping timeout: 256 seconds) 2020-03-07T13:33:27Z wasamasa: and when I'm done with that I'll continue work on my duckyscript compiler 2020-03-07T13:33:46Z lockywolf: And scheme is hard. I can show my code that I wrote on solving SICP, and it's already >50k lines of code, but I can't say it's something worth discussing. 2020-03-07T13:34:09Z wasamasa: funny thing to say given your output in this channel so far :> 2020-03-07T13:34:16Z lockywolf: Y? 2020-03-07T13:34:39Z lockywolf: https://gitlab.com/Lockywolf/chibi-sicp/blob/master/index.org 2020-03-07T13:34:46Z lockywolf: all on gitlab 2020-03-07T13:34:56Z lockywolf: it's just nothing remarkable 2020-03-07T13:35:45Z lockywolf: and I'm not the first person solving sicp 2020-03-07T13:37:01Z lockywolf: also I have some statistics on how much time every exercise took 2020-03-07T13:38:33Z lockywolf: so far it has been 225 study sessions, and in total took 625 hours 2020-03-07T13:39:17Z wasamasa: that is impressive 2020-03-07T13:39:24Z lockywolf: (I hope my boss never sees this.) 2020-03-07T13:40:01Z wasamasa: I've done two chapters over the course of a few months, investing an hour here and there 2020-03-07T13:40:13Z lockywolf: I'll make a quasi-article somewhere, after I'm done. 2020-03-07T13:40:16Z wasamasa: but then I wrote scheme code before that 2020-03-07T13:40:59Z lockywolf: I hardly imagine how people took 6.0001 as their first course in MIT. 2020-03-07T13:41:46Z lockywolf: Although "term projects" are much easier than "hard" problems in sicp. 2020-03-07T13:41:59Z lockywolf: Or maybe I'm just stupid. Or rather, slow-thinking. 2020-03-07T13:42:54Z lockywolf: The first two chapters took me two months as well. 2020-03-07T13:43:23Z lockywolf: Sorry, have to go 2020-03-07T13:47:40Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-07T13:51:28Z lockywolf joined #scheme 2020-03-07T13:57:15Z oni_on_ion is now known as oni-on-ion 2020-03-07T14:10:49Z lockywolf quit (Read error: Connection reset by peer) 2020-03-07T14:14:12Z klovett joined #scheme 2020-03-07T14:19:59Z oxum quit (Remote host closed the connection) 2020-03-07T14:22:08Z lockywolf_ joined #scheme 2020-03-07T14:26:43Z oxum joined #scheme 2020-03-07T14:32:58Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-07T14:39:37Z klovett quit (Remote host closed the connection) 2020-03-07T14:39:56Z klovett joined #scheme 2020-03-07T14:53:16Z luni joined #scheme 2020-03-07T15:01:36Z oxum quit (Remote host closed the connection) 2020-03-07T15:04:41Z oxum joined #scheme 2020-03-07T15:22:01Z oxum quit (Remote host closed the connection) 2020-03-07T15:51:05Z TCZ quit (Quit: Leaving) 2020-03-07T15:59:32Z shakdwipeea joined #scheme 2020-03-07T16:01:11Z coffeeturtle joined #scheme 2020-03-07T16:06:40Z nilg joined #scheme 2020-03-07T16:33:08Z skapata joined #scheme 2020-03-07T16:43:54Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-07T16:44:49Z coffeeturtle quit (Quit: leaving) 2020-03-07T16:53:22Z johncob_ joined #scheme 2020-03-07T16:56:08Z johncob quit (Ping timeout: 256 seconds) 2020-03-07T17:15:16Z oxum joined #scheme 2020-03-07T17:23:11Z ArthurStrong joined #scheme 2020-03-07T17:24:24Z oxum quit (Ping timeout: 268 seconds) 2020-03-07T17:39:49Z jcowan: The 19C mathematician Leopold Kronecker famously said "Die ganzen Zahlen hat Gott gemacht; alles andere ist Menschenwerk”. 2020-03-07T17:40:29Z jcowan: To which I add: "die Consen und die Fixnumen hat McCarthy gemacht; alles andere ist Hackerwerk” 2020-03-07T17:41:05Z ArthurStrong quit (Quit: leaving) 2020-03-07T17:41:06Z abralek quit (Read error: Connection reset by peer) 2020-03-07T17:41:31Z abralek joined #scheme 2020-03-07T17:42:39Z Naptra joined #scheme 2020-03-07T17:55:16Z nly joined #scheme 2020-03-07T17:55:24Z oxum joined #scheme 2020-03-07T18:04:55Z Khisanth quit (Ping timeout: 255 seconds) 2020-03-07T18:17:31Z Khisanth joined #scheme 2020-03-07T18:18:35Z zaifir: Did McCarthy use the term ‘fixnum’? 2020-03-07T18:26:28Z nilg quit (Remote host closed the connection) 2020-03-07T18:28:55Z oxum quit (Ping timeout: 265 seconds) 2020-03-07T18:30:32Z edgar-rft: zaifir: no, see third paragraph "c. Numbers" here -> http://www-formal.stanford.edu/jmc/history/lisp/node4.html 2020-03-07T18:31:00Z abralek quit (Ping timeout: 256 seconds) 2020-03-07T18:34:06Z shakdwipeea quit (Read error: Connection reset by peer) 2020-03-07T18:34:13Z zaifir: edgar-rft: ty! 2020-03-07T18:34:16Z edgar-rft: Wikipeedia "The earliest widespread software implementation of arbitrary-precision arithmetic was probably that in Maclisp." -> https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#History 2020-03-07T18:43:00Z acarrico joined #scheme 2020-03-07T18:49:58Z jao joined #scheme 2020-03-07T18:52:36Z zaifir: edgar-rft: That JMC article is always so much fun to read. 2020-03-07T18:53:38Z zaifir: Heh: “I must confess that I regarded this difficulty [i.e. dynamic scope] as just a bug and expressed confidence that Steve Russell would soon fix it.” 2020-03-07T18:59:42Z mdhughes: nein gefingerpoken, watchen das blinkenlights 2020-03-07T19:51:34Z gravicappa quit (Ping timeout: 255 seconds) 2020-03-07T20:02:38Z Naptra quit (Quit: Leaving) 2020-03-07T20:09:21Z zig: Ich mochte eine gutte fixnum, bitte schone. 2020-03-07T20:10:55Z jao quit (Ping timeout: 255 seconds) 2020-03-07T20:17:25Z zig: scheme workshop 2020 https://icfp20.sigplan.org/home/scheme-2020 2020-03-07T20:18:52Z Riastradh: I am not a fixnum; I am a free initial object in the category of rings! 2020-03-07T20:19:31Z zig: I was going to write down that the expectation are high! 2020-03-07T20:24:20Z zig: nonetheless you should submit something. 2020-03-07T20:25:09Z hugh_marera quit (Quit: hugh_marera) 2020-03-07T20:25:51Z oxum joined #scheme 2020-03-07T20:29:38Z outtabwz: iron maiden? 2020-03-07T20:30:42Z outtabwz: 🤘 2020-03-07T20:38:49Z lritter quit (Ping timeout: 255 seconds) 2020-03-07T20:55:40Z TCZ joined #scheme 2020-03-07T20:59:28Z oxum quit (Ping timeout: 256 seconds) 2020-03-07T21:14:56Z xelxebar quit (Quit: ZNC 1.7.2+deb3 - https://znc.in) 2020-03-07T21:15:05Z xelxebar_ joined #scheme 2020-03-07T21:29:04Z jao joined #scheme 2020-03-07T21:43:52Z TCZ quit (Quit: Leaving) 2020-03-07T21:45:10Z TCZ joined #scheme 2020-03-07T21:52:49Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-07T22:07:01Z hugh_marera joined #scheme 2020-03-07T22:46:47Z luni quit (Remote host closed the connection) 2020-03-07T23:08:03Z xelxebar_ quit (Ping timeout: 240 seconds) 2020-03-07T23:09:01Z xelxebar joined #scheme 2020-03-07T23:19:03Z yosafbridge quit (Quit: Leaving) 2020-03-07T23:31:42Z hugh_marera quit (Quit: hugh_marera) 2020-03-07T23:36:14Z Lysandros joined #scheme 2020-03-07T23:47:56Z TCZ quit (Quit: Leaving) 2020-03-07T23:49:04Z drakonis joined #scheme 2020-03-08T00:02:33Z drakonis quit (Ping timeout: 272 seconds) 2020-03-08T00:04:23Z yosafbridge joined #scheme 2020-03-08T00:21:11Z TCZ joined #scheme 2020-03-08T00:32:17Z TCZ quit (Quit: Leaving) 2020-03-08T00:34:00Z TCZ joined #scheme 2020-03-08T00:46:06Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-08T00:46:37Z X-Scale` joined #scheme 2020-03-08T00:47:17Z X-Scale` is now known as X-Scale 2020-03-08T01:02:13Z oxum joined #scheme 2020-03-08T01:13:20Z jao quit (Ping timeout: 256 seconds) 2020-03-08T01:15:05Z elderK joined #scheme 2020-03-08T01:21:39Z notzmv quit (Remote host closed the connection) 2020-03-08T01:29:13Z Guest68602 joined #scheme 2020-03-08T01:29:55Z oxum quit (Ping timeout: 260 seconds) 2020-03-08T01:34:53Z Guest68602 is now known as notzmv 2020-03-08T01:53:06Z cmatei quit (Ping timeout: 240 seconds) 2020-03-08T02:08:41Z skapata quit (Quit: Ĝis!) 2020-03-08T03:04:41Z cmatei joined #scheme 2020-03-08T03:17:21Z TCZ quit (Quit: Leaving) 2020-03-08T03:28:35Z drakonis joined #scheme 2020-03-08T03:48:41Z lockywolf joined #scheme 2020-03-08T04:02:31Z elderK quit (Ping timeout: 255 seconds) 2020-03-08T04:31:46Z ArneBab_ joined #scheme 2020-03-08T04:32:00Z ArneBab quit (Ping timeout: 256 seconds) 2020-03-08T04:33:25Z theruran quit (Quit: Connection closed for inactivity) 2020-03-08T04:44:18Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-08T05:32:15Z gravicappa joined #scheme 2020-03-08T05:41:21Z torbo joined #scheme 2020-03-08T05:53:56Z lockywolf_ joined #scheme 2020-03-08T05:56:17Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-08T06:00:19Z nilg joined #scheme 2020-03-08T06:03:33Z lockywolf__ joined #scheme 2020-03-08T06:04:26Z lockywolf__ quit (Remote host closed the connection) 2020-03-08T06:05:02Z lockywolf__ joined #scheme 2020-03-08T06:05:52Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-08T06:22:10Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-08T07:06:42Z lavaflow quit (Quit: WeeChat 2.7) 2020-03-08T07:13:52Z klovett quit (Remote host closed the connection) 2020-03-08T07:14:37Z klovett joined #scheme 2020-03-08T07:20:24Z torbo quit (Remote host closed the connection) 2020-03-08T07:21:20Z hugh_marera joined #scheme 2020-03-08T07:22:42Z luni joined #scheme 2020-03-08T07:40:42Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-08T07:42:56Z luni quit (Remote host closed the connection) 2020-03-08T08:12:43Z oxum joined #scheme 2020-03-08T08:17:21Z oxum quit (Ping timeout: 265 seconds) 2020-03-08T09:20:51Z hugh_marera quit (Quit: hugh_marera) 2020-03-08T09:37:11Z retropikzel joined #scheme 2020-03-08T10:37:25Z lritter joined #scheme 2020-03-08T11:00:26Z civodul joined #scheme 2020-03-08T11:39:15Z TCZ joined #scheme 2020-03-08T11:39:27Z luni joined #scheme 2020-03-08T12:03:43Z ggole joined #scheme 2020-03-08T12:04:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-08T12:21:14Z luni quit (Remote host closed the connection) 2020-03-08T12:44:02Z IstiCusi joined #scheme 2020-03-08T12:58:22Z oxum joined #scheme 2020-03-08T13:24:51Z notzmv quit (Ping timeout: 260 seconds) 2020-03-08T13:27:38Z oxum quit (Remote host closed the connection) 2020-03-08T13:35:31Z oxum joined #scheme 2020-03-08T13:38:05Z oxum quit (Remote host closed the connection) 2020-03-08T13:38:34Z oxum joined #scheme 2020-03-08T13:43:01Z oxum quit (Remote host closed the connection) 2020-03-08T13:43:32Z TCZ quit (Quit: Leaving) 2020-03-08T13:47:48Z oxum joined #scheme 2020-03-08T13:48:42Z TCZ joined #scheme 2020-03-08T14:31:10Z klovett quit (Remote host closed the connection) 2020-03-08T14:31:29Z klovett joined #scheme 2020-03-08T14:49:00Z gravicappa joined #scheme 2020-03-08T14:51:29Z klovett quit (Remote host closed the connection) 2020-03-08T14:58:04Z lucasb joined #scheme 2020-03-08T15:21:56Z wasamasa: anyone up for a lisp challenge? 2020-03-08T15:22:41Z wasamasa: I'm not happy with my solution for turning a string like "1-4,6,8-12" into (1 2 3 4 6 8 9 10 11 12) 2020-03-08T15:30:15Z TCZ quit (Quit: Leaving) 2020-03-08T15:30:30Z wasamasa: I can easily write a ruby oneliner 2020-03-08T15:42:25Z terpri quit (Remote host closed the connection) 2020-03-08T15:43:54Z terpri joined #scheme 2020-03-08T15:44:24Z ecraven: what's the oneliner? 2020-03-08T15:46:11Z wasamasa: split(',').flat_map { |r| r[/(\d+)-(\d+)/] ? ($1..$2).to_a : r }.map(&:to_i) 2020-03-08T15:46:28Z TCZ joined #scheme 2020-03-08T15:46:42Z LeoNerd: That looks almost identical in shape to the perl one I had in mind also 2020-03-08T15:47:07Z wasamasa: no wonder, ruby is essentially perl++ 2020-03-08T15:47:32Z LeoNerd: split on commas, then feed each element into regexp to capture the two-digit hyphen thing then use ternary to either yield the sublist or just the single element 2020-03-08T15:47:55Z retropikzel quit (Remote host closed the connection) 2020-03-08T15:48:08Z wasamasa: with scheme I have srfi-1 and srfi-13, but it's not nearly as succinct 2020-03-08T15:49:30Z ecraven: shouldn't that regex break on a solitary number, with no -? 2020-03-08T15:50:02Z wasamasa: it will make the ternary take the other branch since there's no match 2020-03-08T15:54:04Z TCZ quit (Quit: Leaving) 2020-03-08T15:59:00Z ggole quit (Remote host closed the connection) 2020-03-08T15:59:32Z ggole joined #scheme 2020-03-08T15:59:34Z wasamasa: no takers for doing it in scheme? 2020-03-08T16:00:46Z notzmv joined #scheme 2020-03-08T16:05:38Z wasamasa: other lisp dialects work for me, too :> 2020-03-08T16:10:01Z zaifir: That Rudy one-liner is a terrifying one-liner, though. To non-Ruby eyes (e.g. mine) it might look like line-noise. 2020-03-08T16:12:19Z zaifir: *Ruby 2020-03-08T16:19:54Z zaifir: IMHO, parsing simple things with monster regex one-liners might be a slippery slope to parsing *everything* with monster one-liners. Write a parser! 2020-03-08T16:22:27Z wasamasa: for a format that simple? 2020-03-08T16:23:09Z LeoNerd: Yah; for something that simple (and critically nonrecursive), regexp seems fine 2020-03-08T16:25:42Z zaifir: If it's a regular language, yeah. 2020-03-08T16:26:54Z zaifir: A lexer generator is a nice tool for that job. 2020-03-08T16:27:20Z JohnnyL joined #scheme 2020-03-08T16:32:34Z zaifir: I don't know whether a language that can be parsed with PCRE regexes can be proved to be parseable with a Lex-generated lexer. I read a pre-Perl version of the Dragon Book. 2020-03-08T16:39:11Z zaifir: Sorry, thinking out loud. 2020-03-08T16:42:53Z jcowan: Marc Feeley has just posted an excellent application of SRFI 35 / R7RS parameter objects other than binding them to global variables. 2020-03-08T16:43:16Z ecraven: wasamasa: don't think there is any "schemey" way to do it this succinctly.. implicit global $1 and $2 for example seem to be distinctly non-schemish 2020-03-08T16:48:22Z klovett joined #scheme 2020-03-08T16:48:50Z klovett quit (Remote host closed the connection) 2020-03-08T16:49:09Z klovett joined #scheme 2020-03-08T16:57:35Z skapata joined #scheme 2020-03-08T17:00:01Z rgherdt joined #scheme 2020-03-08T17:07:37Z jao joined #scheme 2020-03-08T17:07:45Z jao is now known as Guest17867 2020-03-08T17:12:56Z JohnnyL quit (Quit: leaving) 2020-03-08T17:35:29Z jcowan: The idea is that ports often have various properties (timeout in Gambit, various kinds of lexical-syntax weirdness in Larceny). Either these are per-port properties that can be changed dynamically, or they are global parameters that effect port opening in future but not what current ports do. 2020-03-08T17:36:10Z jcowan: Marc suggests making these parameters that are stored in the port. That way they can be parameterized independently of all other port, without any need for imperative code. 2020-03-08T17:36:22Z jcowan: I think that's an excellent idea. 2020-03-08T17:43:14Z longshi joined #scheme 2020-03-08T18:00:17Z torbo joined #scheme 2020-03-08T18:45:45Z scheibo joined #scheme 2020-03-08T18:46:17Z scheibo quit (Client Quit) 2020-03-08T19:09:57Z outtabwz left #scheme 2020-03-08T19:45:59Z nilg` joined #scheme 2020-03-08T19:47:03Z nilg` quit (Remote host closed the connection) 2020-03-08T19:47:29Z nilg` joined #scheme 2020-03-08T19:48:05Z nilg` quit (Remote host closed the connection) 2020-03-08T19:49:13Z nilg` joined #scheme 2020-03-08T19:49:45Z nilg` quit (Remote host closed the connection) 2020-03-08T20:11:21Z ggole quit (Quit: Leaving) 2020-03-08T20:15:03Z lavaflow joined #scheme 2020-03-08T20:16:36Z zig: here is the message: https://mailman.iro.umontreal.ca/pipermail/gambit-list/2020-March/009329.html 2020-03-08T20:20:40Z zig: So the parameter travel with the port if the port is passed to another OS thread. It makes sense. 2020-03-08T20:20:48Z zig: It it a case for non global parameter. 2020-03-08T20:23:51Z friscosam: Would it travel to the other thread? 2020-03-08T20:24:38Z friscosam: I was under the impression that parameters (even computed ones) are thread local. 2020-03-08T20:25:08Z zig: It does since the parameter is attached to the port. It is not a global. 2020-03-08T20:27:54Z friscosam: "The scope of this timeout would only apply to that port, in the current thread and in the scope of the parameterize." 2020-03-08T20:29:53Z zig: Maybe it depends on what sense one gives to thread. 2020-03-08T20:30:19Z zig: AFAIK Gambit thread are userspace threads (aka. green threads). 2020-03-08T20:30:56Z friscosam: The parameter could travel, but the parameter value (which is traditionally stored in the continuation) would be owned by the thread/dynamic scope. 2020-03-08T20:32:26Z zig: that is a pain point I have with green threads: do green threads have their own dynamic scope or not? 2020-03-08T20:34:09Z zig: anyway green threads are not part of R7RS or any standard. 2020-03-08T20:34:11Z zaifir: Why wouldn't they? 2020-03-08T20:34:22Z zaifir: Greenness is an implementation detail, I think. 2020-03-08T20:40:15Z v_m_v joined #scheme 2020-03-08T20:43:37Z friscosam: I mispoke, there are many ways Schemes implement parameters. I've become so accustomed to Racket where they are stored in the continuation. 2020-03-08T20:45:32Z v_m_v quit (Remote host closed the connection) 2020-03-08T20:46:09Z v_m_v joined #scheme 2020-03-08T20:50:31Z v_m_v quit (Ping timeout: 255 seconds) 2020-03-08T20:51:46Z v_m_v joined #scheme 2020-03-08T20:55:38Z v_m_v quit (Remote host closed the connection) 2020-03-08T20:57:55Z v_m_v joined #scheme 2020-03-08T21:04:58Z jcowan: Per SRFI 18 and R7RS, threads share the parameters that were created before the thread was forked, but parameterizations are not shared; each thread has its own dynamic stack of them. 2020-03-08T21:05:56Z jcowan: The reason that R7RS does not define the ability to mutate parameters is that different implementations behave differently: in some the mutation affects all threads, in others only the current thread. 2020-03-08T21:06:08Z jcowan: Parameters are the only place where R7RS talks about threads. 2020-03-08T21:07:33Z jcowan: SRFI 39 says: "n Scheme 48 the child gets a fresh dynamic environment where (typically but not necessarily) all the bindings are to their initial value. In [Racket] and Gambit-C the child is given a dynamic environment inherited from the parent. In this inherited dynamic environment the dynamic variables have the same values as the parent's dynamic environment. However, in [Racket] the cells bound to the dynamic 2020-03-08T21:07:33Z jcowan: variables in the child are distinct from those of the parent (i.e. an assignment of a value to a dynamic variable is not visible in the other thread). In Gambit-C the child and parent dynamic environment share the same cells (i.e. an assignment of a value to a dynamic variable is visible in the other thread). Note that in the absence of assignment to dynamic variables the [Racket] and Gambit-C approaches are equivalent." 2020-03-08T21:08:11Z jcowan: So the R7RS WG decided that the Scheme 48 behavior was not going to be conformant, bu that both the Gambit and the Racket behaviors were 2020-03-08T21:08:59Z v_m_v quit (Remote host closed the connection) 2020-03-08T21:11:19Z ngz joined #scheme 2020-03-08T21:17:26Z v_m_v joined #scheme 2020-03-08T21:19:32Z v_m_v quit (Remote host closed the connection) 2020-03-08T21:32:07Z zig: I think I had the racket behavior in mind. 2020-03-08T21:36:27Z Riastradh: jcowan: This was a foolish decision by the WG. 2020-03-08T21:36:43Z Riastradh: The Scheme48 semantics is obviously correct, for the following reason. 2020-03-08T21:37:06Z Riastradh: In Scheme48, when you fork a thread, the fluids are not preserved. 2020-03-08T21:37:31Z Riastradh: This induced scsh to invent the variant spoon, which is name for the spawn operation that serves as a fluid-preserving fork 2020-03-08T21:37:34Z Riastradh: . 2020-03-08T21:38:13Z Riastradh: I rest my case. 2020-03-08T21:40:18Z v_m_v joined #scheme 2020-03-08T21:42:56Z v_m_v quit (Remote host closed the connection) 2020-03-08T21:44:24Z wasamasa: lol 2020-03-08T21:44:24Z weinholt: an impenetrable argument for sure, until someone invents the spork 2020-03-08T21:45:02Z gravicappa quit (Ping timeout: 258 seconds) 2020-03-08T21:46:05Z v_m_v joined #scheme 2020-03-08T21:46:55Z skapate joined #scheme 2020-03-08T21:47:16Z Riastradh: (More seriously, I tend to think `parameters' per se are a design mistake, and thread-local storage per se should not be inherited by default.) 2020-03-08T21:49:07Z skapata quit (Ping timeout: 272 seconds) 2020-03-08T21:49:12Z v_m_v quit (Remote host closed the connection) 2020-03-08T21:49:33Z v_m_v joined #scheme 2020-03-08T21:52:17Z skapate quit (Ping timeout: 272 seconds) 2020-03-08T21:52:55Z IstiCusi quit (Quit: WeeChat 2.2) 2020-03-08T21:56:04Z v_m_v quit (Remote host closed the connection) 2020-03-08T22:00:48Z jcowan: "Impenetrability! ... by which I mean 'There's a nice knock-down argument for you!'" --Humpty Dumpty 2020-03-08T22:03:40Z skapate joined #scheme 2020-03-08T22:17:54Z hugh_marera joined #scheme 2020-03-08T22:26:31Z hugh_marera quit (Quit: hugh_marera) 2020-03-08T22:56:20Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-08T22:59:11Z aos quit (Remote host closed the connection) 2020-03-08T23:09:42Z lritter quit (Ping timeout: 256 seconds) 2020-03-08T23:10:49Z longshi quit (Ping timeout: 272 seconds) 2020-03-08T23:25:20Z nly quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-08T23:43:38Z whiteline__ quit (Remote host closed the connection) 2020-03-08T23:45:45Z whiteline joined #scheme 2020-03-08T23:57:33Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-09T00:00:06Z xelxebar joined #scheme 2020-03-09T00:02:53Z nly joined #scheme 2020-03-09T00:06:22Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-09T00:19:41Z Khisanth joined #scheme 2020-03-09T00:19:51Z f8l quit (Remote host closed the connection) 2020-03-09T00:21:16Z f8l joined #scheme 2020-03-09T00:46:27Z ngz quit (Ping timeout: 272 seconds) 2020-03-09T00:47:13Z X-Scale quit (Ping timeout: 255 seconds) 2020-03-09T00:47:28Z X-Scale` joined #scheme 2020-03-09T00:48:01Z X-Scale` is now known as X-Scale 2020-03-09T01:06:58Z vidjuheffex joined #scheme 2020-03-09T01:07:34Z vidjuheffex: If anyone prefers or enjoys Discord feel free to join me at https://discord.gg/ZcTYrdx 2020-03-09T01:07:52Z vidjuheffex: made a channel for most the popular implementations 2020-03-09T01:08:16Z vidjuheffex: and hoping to get people willing to live stream coding sessions or share digital talks / content 2020-03-09T01:17:22Z Guest17867 quit (Ping timeout: 255 seconds) 2020-03-09T01:30:29Z drakonis joined #scheme 2020-03-09T01:33:09Z Jmabsd joined #scheme 2020-03-09T01:33:11Z Jmabsd: jcowan: there? 2020-03-09T01:33:49Z Jmabsd: jcowan wrote "For fluid variables, see the withdrawn SRFI 15, .  Dynamic variables are an equivalent Common Lisp concept.  Fluid and dynamic variables behave like global variables that have been bound permanently to a parameter, so they are accessible from everywhere and can be parameterized anywhere.  In Common Lisp, all top-level variables (but not constants or functions) are dynamic, 2020-03-09T01:33:49Z Jmabsd: and conventionally are written with an asterisk as a prefix and suffix.  In addition, when a variable in a Common LIsp lambda-list (or equivalent) is dynamic, it will be parameterized rather than lexically bound when the procedure is called." 2020-03-09T01:40:43Z Jmabsd2 joined #scheme 2020-03-09T01:43:02Z Jmabsd2 quit (Remote host closed the connection) 2020-03-09T01:43:19Z Jmabsd2 joined #scheme 2020-03-09T01:43:35Z Jmabsd quit (Ping timeout: 260 seconds) 2020-03-09T01:47:49Z Jmabsd2 quit (Client Quit) 2020-03-09T02:26:40Z drakonis quit (Ping timeout: 256 seconds) 2020-03-09T02:28:37Z drakonis joined #scheme 2020-03-09T02:38:23Z epony quit (Quit: reconf) 2020-03-09T02:39:37Z vidjuheffex quit (Remote host closed the connection) 2020-03-09T02:40:55Z epony joined #scheme 2020-03-09T02:45:06Z Jmabsd joined #scheme 2020-03-09T02:45:09Z Jmabsd: , 2020-03-09T02:50:11Z Jmabsd2 joined #scheme 2020-03-09T02:52:58Z stultulo joined #scheme 2020-03-09T02:53:07Z f8l quit (Ping timeout: 260 seconds) 2020-03-09T02:53:22Z stultulo is now known as f8l 2020-03-09T02:53:22Z Jmabsd quit (Ping timeout: 265 seconds) 2020-03-09T03:03:30Z drakonis quit (Ping timeout: 256 seconds) 2020-03-09T03:05:33Z drakonis joined #scheme 2020-03-09T03:09:20Z f8l quit (Remote host closed the connection) 2020-03-09T03:10:40Z f8l joined #scheme 2020-03-09T03:13:56Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-09T03:29:13Z Jmabsd2 quit (Ping timeout: 255 seconds) 2020-03-09T03:31:14Z drakonis joined #scheme 2020-03-09T03:40:05Z f8l quit (Remote host closed the connection) 2020-03-09T03:41:22Z f8l joined #scheme 2020-03-09T03:43:21Z torbo quit (Remote host closed the connection) 2020-03-09T03:44:06Z drakonis quit (Ping timeout: 240 seconds) 2020-03-09T03:44:28Z zaifir_ joined #scheme 2020-03-09T03:44:36Z zaifir_ is now known as Zipheir 2020-03-09T03:44:36Z Zipheir quit (Client Quit) 2020-03-09T03:44:58Z zaifir quit (Ping timeout: 255 seconds) 2020-03-09T03:45:59Z drakonis joined #scheme 2020-03-09T03:47:16Z zaifir joined #scheme 2020-03-09T04:07:35Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-09T04:17:08Z teej quit (Quit: Connection closed for inactivity) 2020-03-09T04:17:59Z Jmabsd joined #scheme 2020-03-09T04:18:05Z Jmabsd: How is dynamic-wind even implemented, it's nuts :)) 2020-03-09T04:18:33Z Jmabsd: look at this http://paste.debian.net/hidden/b766f2ce/ 2020-03-09T04:27:50Z f8l quit (Remote host closed the connection) 2020-03-09T04:29:05Z f8l joined #scheme 2020-03-09T04:42:36Z Riastradh quit (Ping timeout: 265 seconds) 2020-03-09T05:11:40Z gravicappa joined #scheme 2020-03-09T05:13:35Z Jmabsd quit (Ping timeout: 260 seconds) 2020-03-09T05:16:35Z scheme684 joined #scheme 2020-03-09T05:23:07Z Riastradh joined #scheme 2020-03-09T05:26:19Z scheme684 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2020-03-09T05:36:45Z Jmabsd joined #scheme 2020-03-09T05:37:45Z ArthurStrong joined #scheme 2020-03-09T05:50:32Z mason joined #scheme 2020-03-09T05:51:27Z luni joined #scheme 2020-03-09T05:57:31Z ggole joined #scheme 2020-03-09T06:12:51Z klovett quit (Remote host closed the connection) 2020-03-09T06:13:17Z klovett joined #scheme 2020-03-09T06:24:52Z ArthurStrong quit (Quit: leaving) 2020-03-09T06:28:02Z nullus quit (Quit: leaving) 2020-03-09T06:44:10Z luni quit (Remote host closed the connection) 2020-03-09T06:55:39Z montxero joined #scheme 2020-03-09T07:27:21Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-09T07:42:42Z klovett quit (Remote host closed the connection) 2020-03-09T07:43:19Z klovett joined #scheme 2020-03-09T07:58:30Z klovett quit (Remote host closed the connection) 2020-03-09T07:58:46Z klovett joined #scheme 2020-03-09T07:59:35Z skapate quit (Quit: Ĝis!) 2020-03-09T08:24:19Z v_m_v joined #scheme 2020-03-09T08:31:13Z montxero quit (Ping timeout: 265 seconds) 2020-03-09T08:37:33Z civodul joined #scheme 2020-03-09T08:52:12Z Jmabsd quit (Changing host) 2020-03-09T08:52:12Z Jmabsd joined #scheme 2020-03-09T08:56:21Z Jmabsd left #scheme 2020-03-09T10:17:21Z v_m_v quit (Remote host closed the connection) 2020-03-09T10:19:35Z v_m_v joined #scheme 2020-03-09T10:24:07Z v_m_v quit (Ping timeout: 255 seconds) 2020-03-09T10:42:16Z RRedcroft joined #scheme 2020-03-09T10:54:25Z lritter joined #scheme 2020-03-09T11:06:26Z lockywolf joined #scheme 2020-03-09T11:14:01Z lockywolf: Does anyone know how to contact someone from MIT Press? 2020-03-09T11:16:38Z lockywolf: I wrote a message through the web interface, but hey, those thing never work. 2020-03-09T11:16:47Z lockywolf: And the old email address is broken. 2020-03-09T11:21:03Z zooey quit (Ping timeout: 240 seconds) 2020-03-09T11:22:13Z zooey joined #scheme 2020-03-09T11:23:07Z lockywolf_ joined #scheme 2020-03-09T11:25:48Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-09T11:46:45Z lockywolf joined #scheme 2020-03-09T11:47:38Z lockywolf quit (Remote host closed the connection) 2020-03-09T11:48:06Z lockywolf joined #scheme 2020-03-09T11:49:08Z lockywolf quit (Remote host closed the connection) 2020-03-09T11:49:10Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-09T11:49:35Z lockywolf joined #scheme 2020-03-09T12:09:42Z lockywolf_ joined #scheme 2020-03-09T12:10:24Z hugh_marera joined #scheme 2020-03-09T12:10:39Z lockywolf_ quit (Remote host closed the connection) 2020-03-09T12:11:08Z lockywolf_ joined #scheme 2020-03-09T12:12:12Z lockywolf quit (Ping timeout: 268 seconds) 2020-03-09T12:12:38Z lockywolf_ quit (Remote host closed the connection) 2020-03-09T12:13:13Z lockywolf_ joined #scheme 2020-03-09T12:13:40Z v_m_v joined #scheme 2020-03-09T12:35:34Z jao joined #scheme 2020-03-09T12:36:04Z v_m_v_ joined #scheme 2020-03-09T12:38:58Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-09T12:44:58Z RRedcroft quit (Ping timeout: 265 seconds) 2020-03-09T12:52:12Z RRedcroft joined #scheme 2020-03-09T12:55:41Z v_m_v_ quit (Remote host closed the connection) 2020-03-09T13:11:24Z lucasb joined #scheme 2020-03-09T13:12:18Z lockywolf__ joined #scheme 2020-03-09T13:14:02Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-09T13:17:36Z lockywolf_ joined #scheme 2020-03-09T13:17:53Z v_m_v joined #scheme 2020-03-09T13:18:53Z v_m_v quit (Remote host closed the connection) 2020-03-09T13:19:15Z v_m_v joined #scheme 2020-03-09T13:20:22Z lockywolf__ quit (Ping timeout: 258 seconds) 2020-03-09T13:29:11Z jao quit (Ping timeout: 260 seconds) 2020-03-09T13:42:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-09T13:45:31Z xelxebar joined #scheme 2020-03-09T13:46:31Z sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-09T13:48:33Z sammich joined #scheme 2020-03-09T13:49:52Z v_m_v quit (Remote host closed the connection) 2020-03-09T13:50:55Z v_m_v joined #scheme 2020-03-09T13:54:04Z luni joined #scheme 2020-03-09T13:59:26Z Jmabsd joined #scheme 2020-03-09T14:00:53Z v_m_v quit (Remote host closed the connection) 2020-03-09T14:03:44Z revtintin joined #scheme 2020-03-09T14:05:00Z v_m_v joined #scheme 2020-03-09T14:09:13Z lockywolf__ joined #scheme 2020-03-09T14:09:33Z hugh_marera quit (Ping timeout: 265 seconds) 2020-03-09T14:09:34Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-09T14:10:43Z Jmabsd2 joined #scheme 2020-03-09T14:11:49Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-09T14:14:31Z Jmabsd quit (Ping timeout: 255 seconds) 2020-03-09T14:15:32Z lockywolf_ joined #scheme 2020-03-09T14:15:48Z Jmabsd2 quit (Ping timeout: 256 seconds) 2020-03-09T14:18:07Z lockywolf__ quit (Ping timeout: 255 seconds) 2020-03-09T14:18:35Z lockywolf__ joined #scheme 2020-03-09T14:21:19Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-09T14:24:14Z jao joined #scheme 2020-03-09T14:24:21Z jao is now known as Guest75178 2020-03-09T14:31:03Z pjb quit (Ping timeout: 272 seconds) 2020-03-09T14:33:20Z v_m_v joined #scheme 2020-03-09T14:39:51Z pjb joined #scheme 2020-03-09T14:40:37Z v_m_v quit (Remote host closed the connection) 2020-03-09T14:47:11Z badkins joined #scheme 2020-03-09T14:54:23Z Guest75178 quit (Ping timeout: 268 seconds) 2020-03-09T15:07:58Z RRedcroft left #scheme 2020-03-09T15:09:24Z v_m_v joined #scheme 2020-03-09T15:11:39Z v_m_v quit (Remote host closed the connection) 2020-03-09T15:15:47Z v_m_v joined #scheme 2020-03-09T15:19:36Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-09T15:20:17Z X-Scale` joined #scheme 2020-03-09T15:20:44Z X-Scale` is now known as X-Scale 2020-03-09T15:24:12Z v_m_v quit (Remote host closed the connection) 2020-03-09T15:32:00Z oxum quit (Remote host closed the connection) 2020-03-09T15:32:35Z oxum joined #scheme 2020-03-09T15:32:55Z revtintin quit (Quit: WeeChat 2.7.1) 2020-03-09T15:34:36Z v_m_v joined #scheme 2020-03-09T15:39:52Z Jmabsd joined #scheme 2020-03-09T15:50:41Z v_m_v quit (Remote host closed the connection) 2020-03-09T16:00:57Z badkins quit (Ping timeout: 260 seconds) 2020-03-09T16:12:20Z oxum_ joined #scheme 2020-03-09T16:15:56Z oxum quit (Ping timeout: 256 seconds) 2020-03-09T16:22:50Z klovett_ joined #scheme 2020-03-09T16:22:56Z klovett_ quit (Remote host closed the connection) 2020-03-09T16:25:38Z klovett quit (Ping timeout: 240 seconds) 2020-03-09T16:26:22Z mr_machina joined #scheme 2020-03-09T16:31:48Z v_m_v joined #scheme 2020-03-09T16:32:38Z v_m_v quit (Remote host closed the connection) 2020-03-09T16:33:11Z v_m_v joined #scheme 2020-03-09T16:37:56Z v_m_v quit (Ping timeout: 265 seconds) 2020-03-09T16:44:35Z oxum joined #scheme 2020-03-09T16:46:39Z badkins joined #scheme 2020-03-09T16:47:58Z oxum_ quit (Ping timeout: 255 seconds) 2020-03-09T16:49:08Z luni quit (Remote host closed the connection) 2020-03-09T16:52:21Z badkins quit (Remote host closed the connection) 2020-03-09T16:52:40Z badkins joined #scheme 2020-03-09T16:58:59Z badkins quit (Remote host closed the connection) 2020-03-09T16:59:24Z badkins joined #scheme 2020-03-09T17:06:19Z jao joined #scheme 2020-03-09T17:10:27Z klovett joined #scheme 2020-03-09T17:30:57Z badkins quit (Remote host closed the connection) 2020-03-09T17:37:18Z badkins joined #scheme 2020-03-09T17:49:59Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-09T18:00:36Z gnomon_ joined #scheme 2020-03-09T18:02:05Z gnomon is now known as _gnomon 2020-03-09T18:05:49Z gnomon_ quit (Ping timeout: 255 seconds) 2020-03-09T18:07:05Z gnomon joined #scheme 2020-03-09T18:18:18Z v_m_v_ joined #scheme 2020-03-09T18:19:59Z whiteline quit (Remote host closed the connection) 2020-03-09T18:20:26Z whiteline joined #scheme 2020-03-09T18:20:26Z gnomon quit (Ping timeout: 240 seconds) 2020-03-09T18:31:26Z wasamasa: lockywolf__: you aren't talking about the SICP authors, are you 2020-03-09T18:32:20Z gnomon joined #scheme 2020-03-09T18:33:26Z badkins quit (Ping timeout: 240 seconds) 2020-03-09T18:33:39Z gwatt: Jmabsd: There's a good explanation on how to implement dynamic-wind here: https://www.scheme.com/tspl4/control.html#./control:s56 2020-03-09T18:40:06Z deesix quit (Ping timeout: 240 seconds) 2020-03-09T18:42:20Z phwalkr joined #scheme 2020-03-09T18:42:51Z deesix joined #scheme 2020-03-09T18:43:25Z hugh_marera joined #scheme 2020-03-09T18:44:09Z snits quit (Quit: leaving) 2020-03-09T18:44:27Z snits joined #scheme 2020-03-09T18:50:57Z luni joined #scheme 2020-03-09T18:55:34Z drakonis joined #scheme 2020-03-09T18:59:07Z Jmabsd quit (Ping timeout: 260 seconds) 2020-03-09T19:02:52Z drakonis quit (Ping timeout: 256 seconds) 2020-03-09T19:05:44Z drakonis joined #scheme 2020-03-09T19:14:46Z drakonis quit (Ping timeout: 256 seconds) 2020-03-09T19:22:07Z drakonis joined #scheme 2020-03-09T19:26:18Z rgherdt joined #scheme 2020-03-09T19:31:53Z ggole quit (Quit: Leaving) 2020-03-09T19:32:02Z zig quit (Ping timeout: 240 seconds) 2020-03-09T19:38:48Z abralek joined #scheme 2020-03-09T19:44:23Z jao quit (Ping timeout: 260 seconds) 2020-03-09T19:50:14Z enderby joined #scheme 2020-03-09T19:50:26Z v_m_v_ quit (Remote host closed the connection) 2020-03-09T20:06:50Z terpri quit (Remote host closed the connection) 2020-03-09T20:07:17Z terpri joined #scheme 2020-03-09T20:09:13Z izh_ joined #scheme 2020-03-09T20:25:24Z f8l quit (Remote host closed the connection) 2020-03-09T20:26:45Z f8l joined #scheme 2020-03-09T20:43:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-09T20:46:48Z xelxebar joined #scheme 2020-03-09T20:54:03Z amerigo joined #scheme 2020-03-09T21:07:38Z gravicappa quit (Ping timeout: 265 seconds) 2020-03-09T21:10:12Z hugh_marera quit (Quit: hugh_marera) 2020-03-09T21:19:06Z lritter quit (Ping timeout: 256 seconds) 2020-03-09T21:34:01Z izh_ quit (Quit: Leaving) 2020-03-09T21:40:04Z f8l quit (Ping timeout: 256 seconds) 2020-03-09T21:40:24Z evdubs quit (Ping timeout: 256 seconds) 2020-03-09T21:41:29Z f8l joined #scheme 2020-03-09T21:44:55Z montxero joined #scheme 2020-03-09T21:46:55Z f8l quit (Remote host closed the connection) 2020-03-09T21:48:18Z f8l joined #scheme 2020-03-09T21:57:54Z jao joined #scheme 2020-03-09T21:59:08Z mr_machina quit (Remote host closed the connection) 2020-03-09T22:07:20Z mr_machina joined #scheme 2020-03-09T22:09:20Z evdubs joined #scheme 2020-03-09T22:09:23Z skapata joined #scheme 2020-03-09T22:13:46Z ngz joined #scheme 2020-03-09T22:20:31Z elderK joined #scheme 2020-03-09T22:21:57Z v_m_v joined #scheme 2020-03-09T22:23:27Z Pyromancer2198 joined #scheme 2020-03-09T22:23:32Z Pyromancer2198: Hi 2020-03-09T22:23:42Z Pyromancer2198: is this the Lisp Scheme channel? 2020-03-09T22:25:21Z Pyromancer2198: oh yeah it is 2020-03-09T22:25:50Z Pyromancer2198: is Yet Another Scheme Tutorial a good tutorial? 2020-03-09T22:29:56Z drakonis: there's a list of recommendations on schemers.org 2020-03-09T22:33:06Z Pyromancer2198 left #scheme 2020-03-09T22:49:46Z zaifir: Question answered, I guess? 2020-03-09T22:50:07Z drakonis: i guess? 2020-03-09T22:53:05Z v_m_v quit (Remote host closed the connection) 2020-03-09T22:54:16Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-09T22:56:08Z oni-on-ion joined #scheme 2020-03-09T22:58:21Z ngz quit (Ping timeout: 272 seconds) 2020-03-09T23:03:34Z phwalkr quit 2020-03-09T23:20:04Z daviid quit (Ping timeout: 265 seconds) 2020-03-09T23:24:11Z luni quit (Remote host closed the connection) 2020-03-09T23:25:02Z mr_machina quit (Remote host closed the connection) 2020-03-09T23:25:41Z v_m_v joined #scheme 2020-03-09T23:27:12Z mr_machina joined #scheme 2020-03-09T23:30:15Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-09T23:34:36Z torbo joined #scheme 2020-03-09T23:39:56Z mr_machina quit (Remote host closed the connection) 2020-03-09T23:40:06Z terpri quit (Ping timeout: 240 seconds) 2020-03-09T23:46:27Z nilg quit (Ping timeout: 240 seconds) 2020-03-09T23:48:08Z montxero quit (Ping timeout: 256 seconds) 2020-03-09T23:50:55Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-09T23:53:15Z montxero joined #scheme 2020-03-09T23:55:19Z lockywolf__: wasamasa, nope, they would be easier to contact, I believe. :) 2020-03-09T23:56:04Z lockywolf__: I mean the people who support the additional content website. 2020-03-10T00:00:35Z lockywolf__ quit (Ping timeout: 260 seconds) 2020-03-10T00:17:56Z stepnem quit (Ping timeout: 256 seconds) 2020-03-10T00:22:02Z stepnem joined #scheme 2020-03-10T00:25:00Z cartwright joined #scheme 2020-03-10T00:36:59Z montxero` joined #scheme 2020-03-10T00:41:24Z montxero quit (Ping timeout: 256 seconds) 2020-03-10T00:43:22Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-10T01:05:11Z lockywolf joined #scheme 2020-03-10T01:19:57Z v_m_v joined #scheme 2020-03-10T01:24:34Z v_m_v quit (Ping timeout: 255 seconds) 2020-03-10T01:43:15Z jao quit (Ping timeout: 240 seconds) 2020-03-10T01:57:04Z oxum quit (Ping timeout: 258 seconds) 2020-03-10T01:59:15Z zaifir quit (Ping timeout: 240 seconds) 2020-03-10T02:00:32Z montxero` quit (Ping timeout: 265 seconds) 2020-03-10T02:01:08Z zaifir joined #scheme 2020-03-10T02:01:53Z amerigo quit (Quit: Connection closed for inactivity) 2020-03-10T02:23:17Z mr_machina joined #scheme 2020-03-10T02:40:51Z torbo quit (Remote host closed the connection) 2020-03-10T02:45:00Z ahungry joined #scheme 2020-03-10T02:58:59Z xelxebar quit (Remote host closed the connection) 2020-03-10T02:59:23Z xelxebar joined #scheme 2020-03-10T03:00:32Z lockywolf quit (Remote host closed the connection) 2020-03-10T03:01:14Z lockywolf joined #scheme 2020-03-10T03:01:57Z oxum joined #scheme 2020-03-10T03:02:01Z lockywolf quit (Remote host closed the connection) 2020-03-10T03:02:28Z lockywolf joined #scheme 2020-03-10T03:14:45Z v_m_v joined #scheme 2020-03-10T03:15:00Z ahungry quit (Remote host closed the connection) 2020-03-10T03:19:30Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-10T03:21:22Z klovett quit (Remote host closed the connection) 2020-03-10T03:22:13Z klovett joined #scheme 2020-03-10T03:43:45Z zaifir quit (Read error: Connection reset by peer) 2020-03-10T03:49:06Z zaifir joined #scheme 2020-03-10T04:01:07Z elderK quit (Quit: WeeChat 1.9) 2020-03-10T04:11:51Z skapata quit (Quit: Ĝis!) 2020-03-10T04:19:33Z mr_machina quit (Remote host closed the connection) 2020-03-10T04:39:07Z gravicappa joined #scheme 2020-03-10T05:00:42Z drakonis quit (Ping timeout: 256 seconds) 2020-03-10T05:35:36Z gioyik joined #scheme 2020-03-10T05:39:27Z ggole joined #scheme 2020-03-10T05:56:30Z lockywolf_ joined #scheme 2020-03-10T05:59:18Z lockywolf quit (Ping timeout: 265 seconds) 2020-03-10T06:03:40Z v_m_v joined #scheme 2020-03-10T06:08:09Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-10T06:21:17Z drakonis joined #scheme 2020-03-10T06:35:02Z daviid joined #scheme 2020-03-10T06:55:47Z luni joined #scheme 2020-03-10T07:03:39Z gnomon quit (Ping timeout: 240 seconds) 2020-03-10T07:04:18Z gnomon joined #scheme 2020-03-10T07:10:46Z rgherdt joined #scheme 2020-03-10T07:12:58Z abralek quit (Ping timeout: 256 seconds) 2020-03-10T07:13:31Z abralek joined #scheme 2020-03-10T07:26:40Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-10T07:31:21Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-10T07:34:39Z zig joined #scheme 2020-03-10T07:35:24Z revtintin joined #scheme 2020-03-10T07:39:20Z luni quit (Remote host closed the connection) 2020-03-10T08:18:04Z lritter joined #scheme 2020-03-10T08:26:27Z jobol joined #scheme 2020-03-10T08:26:34Z v_m_v joined #scheme 2020-03-10T08:28:39Z gioyik quit (Quit: WeeChat 2.7) 2020-03-10T08:31:33Z v_m_v quit (Ping timeout: 265 seconds) 2020-03-10T08:33:26Z sammich quit (Ping timeout: 256 seconds) 2020-03-10T08:38:35Z sammich joined #scheme 2020-03-10T08:53:09Z edgar-rft quit (Quit: Leaving) 2020-03-10T09:22:12Z v_m_v joined #scheme 2020-03-10T09:25:00Z lritter quit (Ping timeout: 256 seconds) 2020-03-10T09:36:28Z v_m_v quit (Remote host closed the connection) 2020-03-10T09:43:45Z v_m_v joined #scheme 2020-03-10T09:53:04Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-10T10:30:42Z v_m_v quit (Remote host closed the connection) 2020-03-10T10:35:08Z v_m_v joined #scheme 2020-03-10T10:49:37Z v_m_v quit (Remote host closed the connection) 2020-03-10T10:55:00Z v_m_v joined #scheme 2020-03-10T10:55:24Z oni-on-ion quit (Remote host closed the connection) 2020-03-10T10:55:45Z oni-on-ion joined #scheme 2020-03-10T10:59:09Z lockywolf_ joined #scheme 2020-03-10T11:04:26Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-10T11:14:01Z civodul joined #scheme 2020-03-10T11:15:53Z v_m_v quit (Remote host closed the connection) 2020-03-10T11:27:43Z v_m_v joined #scheme 2020-03-10T11:51:27Z oxum_ joined #scheme 2020-03-10T11:54:34Z oxum quit (Ping timeout: 255 seconds) 2020-03-10T11:55:22Z phwalkr joined #scheme 2020-03-10T12:02:05Z luni joined #scheme 2020-03-10T12:06:40Z alinsoar joined #scheme 2020-03-10T12:07:59Z v_m_v quit (Remote host closed the connection) 2020-03-10T12:24:17Z luni quit (Remote host closed the connection) 2020-03-10T12:27:37Z edgar-rft joined #scheme 2020-03-10T12:35:06Z RRedcroft joined #scheme 2020-03-10T12:38:55Z xelxebar quit (Remote host closed the connection) 2020-03-10T12:39:07Z alinsoar quit (Remote host closed the connection) 2020-03-10T12:41:36Z xelxebar joined #scheme 2020-03-10T12:44:24Z lucasb joined #scheme 2020-03-10T12:46:51Z alinsoar joined #scheme 2020-03-10T12:49:34Z RRedcroft quit (Ping timeout: 256 seconds) 2020-03-10T12:52:01Z alinsoar` joined #scheme 2020-03-10T12:54:58Z alinsoar quit (Remote host closed the connection) 2020-03-10T12:55:01Z alinsoar` quit (Remote host closed the connection) 2020-03-10T12:55:32Z alinsoar joined #scheme 2020-03-10T12:57:14Z alinsoar quit (Remote host closed the connection) 2020-03-10T12:58:31Z klovett quit (Remote host closed the connection) 2020-03-10T12:58:53Z klovett joined #scheme 2020-03-10T12:59:25Z alinsoar joined #scheme 2020-03-10T13:02:31Z RRedcroft joined #scheme 2020-03-10T13:02:37Z aoh joined #scheme 2020-03-10T13:04:05Z m1dnight_ quit (Quit: WeeChat 2.4) 2020-03-10T13:04:35Z m1dnight_ joined #scheme 2020-03-10T13:17:47Z RRedcroft quit (Read error: Connection reset by peer) 2020-03-10T13:21:24Z v_m_v joined #scheme 2020-03-10T13:31:19Z alinsoar quit (Remote host closed the connection) 2020-03-10T13:36:37Z RRedcroft joined #scheme 2020-03-10T13:52:09Z v_m_v quit (Remote host closed the connection) 2020-03-10T13:52:29Z v_m_v joined #scheme 2020-03-10T13:54:16Z v_m_v quit (Remote host closed the connection) 2020-03-10T13:56:02Z zaifir quit (Ping timeout: 240 seconds) 2020-03-10T13:56:09Z v_m_v joined #scheme 2020-03-10T13:57:03Z webshinra joined #scheme 2020-03-10T13:58:12Z zaifir joined #scheme 2020-03-10T14:02:12Z v_m_v quit (Remote host closed the connection) 2020-03-10T14:15:58Z revtintin quit (Quit: WeeChat 2.7.1) 2020-03-10T14:19:15Z v_m_v joined #scheme 2020-03-10T14:21:50Z v_m_v quit (Remote host closed the connection) 2020-03-10T14:23:22Z RRedcroft quit (Remote host closed the connection) 2020-03-10T14:31:13Z badkins joined #scheme 2020-03-10T14:39:12Z v_m_v joined #scheme 2020-03-10T14:39:58Z v_m_v_ joined #scheme 2020-03-10T14:43:44Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-10T14:44:30Z luni joined #scheme 2020-03-10T14:48:56Z v_m_v_ quit (Remote host closed the connection) 2020-03-10T14:51:40Z jao joined #scheme 2020-03-10T15:17:15Z X-Scale` joined #scheme 2020-03-10T15:20:09Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-10T15:20:10Z X-Scale` is now known as X-Scale 2020-03-10T15:20:51Z mgh quit (Ping timeout: 260 seconds) 2020-03-10T15:32:24Z X-Scale` joined #scheme 2020-03-10T15:33:12Z zdm joined #scheme 2020-03-10T15:33:55Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-10T15:33:55Z X-Scale` is now known as X-Scale 2020-03-10T15:38:25Z smazga joined #scheme 2020-03-10T15:39:34Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-10T15:41:41Z smazga quit (Client Quit) 2020-03-10T15:43:52Z luni quit (Remote host closed the connection) 2020-03-10T15:50:27Z phwalkr quit (Remote host closed the connection) 2020-03-10T15:52:26Z Khisanth joined #scheme 2020-03-10T15:54:49Z phwalkr joined #scheme 2020-03-10T15:58:13Z drakonis joined #scheme 2020-03-10T16:00:43Z mgh joined #scheme 2020-03-10T16:05:50Z mgh quit (Ping timeout: 268 seconds) 2020-03-10T16:23:25Z mgh joined #scheme 2020-03-10T16:32:22Z klovett quit 2020-03-10T16:35:43Z abralek quit (Read error: Connection reset by peer) 2020-03-10T16:35:59Z abralek joined #scheme 2020-03-10T16:37:52Z edgar-rft quit (Quit: Leaving) 2020-03-10T16:40:59Z abralek quit (Ping timeout: 268 seconds) 2020-03-10T16:41:49Z gioyik joined #scheme 2020-03-10T16:43:31Z abralek joined #scheme 2020-03-10T16:46:26Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-10T16:49:38Z Khisanth joined #scheme 2020-03-10T16:54:51Z abralek quit (Read error: Connection reset by peer) 2020-03-10T16:55:08Z abralek joined #scheme 2020-03-10T17:01:44Z abralek quit (Ping timeout: 258 seconds) 2020-03-10T17:02:33Z abralek joined #scheme 2020-03-10T17:05:49Z hugh_marera joined #scheme 2020-03-10T17:10:21Z klovett joined #scheme 2020-03-10T17:18:03Z aeth: The best Scheme tutorial is working through SICP cover to cover doing *every* exercise! 2020-03-10T17:18:48Z aeth: haha, just kidding of course... The Little Schemer is a better introduction along the lines of a "tutorial" if you have to choose a book 2020-03-10T17:19:17Z badkins quit (Remote host closed the connection) 2020-03-10T17:19:51Z badkins joined #scheme 2020-03-10T17:20:45Z drakonis: the person aint here anymore 2020-03-10T17:22:17Z zaifir: The question comes up often enough. 2020-03-10T17:22:21Z pjb: aeth: neither are good scheme tutorials, since their purposes are not to teach scheme! 2020-03-10T17:25:46Z badkins quit (Ping timeout: 255 seconds) 2020-03-10T17:30:43Z hugh_marera quit (Quit: hugh_marera) 2020-03-10T17:31:56Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-10T17:35:06Z badkins joined #scheme 2020-03-10T17:46:15Z jobol quit (Quit: Leaving) 2020-03-10T17:54:38Z abralek quit (Ping timeout: 258 seconds) 2020-03-10T17:55:14Z abralek joined #scheme 2020-03-10T17:57:04Z phwalkr_ joined #scheme 2020-03-10T18:00:26Z phwalkr quit (Ping timeout: 256 seconds) 2020-03-10T18:06:16Z abralek quit (Ping timeout: 255 seconds) 2020-03-10T18:08:41Z ggole quit (Quit: Leaving) 2020-03-10T18:11:29Z abralek joined #scheme 2020-03-10T18:13:18Z kbtr quit (Ping timeout: 268 seconds) 2020-03-10T18:13:36Z kbtr joined #scheme 2020-03-10T18:22:21Z badkins quit (Remote host closed the connection) 2020-03-10T18:22:58Z badkins joined #scheme 2020-03-10T18:28:28Z badkins quit (Ping timeout: 265 seconds) 2020-03-10T18:29:33Z amerigo joined #scheme 2020-03-10T18:32:12Z gioyik quit (Ping timeout: 258 seconds) 2020-03-10T18:41:30Z gioyik joined #scheme 2020-03-10T18:47:15Z skapata joined #scheme 2020-03-10T18:47:53Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-10T18:56:44Z Naptra joined #scheme 2020-03-10T19:01:37Z zdm joined #scheme 2020-03-10T19:05:39Z badkins joined #scheme 2020-03-10T19:09:55Z klovett_ joined #scheme 2020-03-10T19:09:58Z skapata quit (Remote host closed the connection) 2020-03-10T19:11:00Z klovett quit (Ping timeout: 265 seconds) 2020-03-10T19:11:51Z jao quit (Ping timeout: 260 seconds) 2020-03-10T19:12:37Z `micro quit (Remote host closed the connection) 2020-03-10T19:14:13Z `micro joined #scheme 2020-03-10T19:17:25Z v_m_v joined #scheme 2020-03-10T19:17:46Z klovett_ is now known as klovett 2020-03-10T19:33:15Z edgar-rft joined #scheme 2020-03-10T19:38:10Z jao joined #scheme 2020-03-10T19:44:30Z pilne joined #scheme 2020-03-10T20:14:28Z lritter joined #scheme 2020-03-10T20:27:54Z rgherdt joined #scheme 2020-03-10T20:42:37Z luni joined #scheme 2020-03-10T20:46:50Z ngz joined #scheme 2020-03-10T20:50:25Z lritter quit (Quit: Leaving) 2020-03-10T21:01:59Z gravicappa quit (Ping timeout: 260 seconds) 2020-03-10T21:13:48Z phwalkr joined #scheme 2020-03-10T21:17:38Z phwalkr_ quit (Ping timeout: 256 seconds) 2020-03-10T21:25:24Z hive-mind joined #scheme 2020-03-10T21:29:59Z klovett quit 2020-03-10T21:35:16Z whiteline quit (Remote host closed the connection) 2020-03-10T21:35:46Z whiteline joined #scheme 2020-03-10T21:45:00Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-10T22:15:14Z pjb quit (Read error: Connection reset by peer) 2020-03-10T22:16:02Z phwalkr quit (Remote host closed the connection) 2020-03-10T22:16:43Z phwalkr joined #scheme 2020-03-10T22:17:13Z pjb joined #scheme 2020-03-10T22:18:55Z Naptra quit (Quit: Leaving) 2020-03-10T22:30:28Z pjb quit (Read error: Connection reset by peer) 2020-03-10T22:33:21Z pjb joined #scheme 2020-03-10T22:44:50Z gioyik quit (Ping timeout: 240 seconds) 2020-03-10T22:48:21Z badkins quit (Remote host closed the connection) 2020-03-10T22:49:05Z badkins joined #scheme 2020-03-10T22:49:42Z v_m_v quit (Remote host closed the connection) 2020-03-10T22:50:47Z klovett joined #scheme 2020-03-10T22:54:50Z badkins quit (Ping timeout: 240 seconds) 2020-03-10T23:00:40Z luni quit (Remote host closed the connection) 2020-03-10T23:03:00Z badkins joined #scheme 2020-03-10T23:04:14Z tryte joined #scheme 2020-03-10T23:17:03Z gioyik joined #scheme 2020-03-10T23:18:22Z pjb quit (Read error: Connection reset by peer) 2020-03-10T23:20:09Z pjb joined #scheme 2020-03-10T23:23:55Z gioyik quit (Ping timeout: 258 seconds) 2020-03-10T23:25:47Z v_m_v joined #scheme 2020-03-10T23:30:16Z v_m_v quit (Ping timeout: 255 seconds) 2020-03-10T23:31:29Z ngz quit (Ping timeout: 272 seconds) 2020-03-10T23:32:56Z jao quit (Remote host closed the connection) 2020-03-10T23:33:07Z Zenton quit (Ping timeout: 258 seconds) 2020-03-10T23:34:58Z jao joined #scheme 2020-03-10T23:42:25Z badkins quit (Remote host closed the connection) 2020-03-10T23:43:12Z badkins joined #scheme 2020-03-10T23:46:03Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-10T23:47:38Z badkins quit (Ping timeout: 240 seconds) 2020-03-10T23:59:19Z badkins joined #scheme 2020-03-11T00:11:00Z kbtr quit (Quit: leaving) 2020-03-11T00:11:22Z kbtr joined #scheme 2020-03-11T00:20:11Z oxum_ quit (Remote host closed the connection) 2020-03-11T00:39:08Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-11T00:50:32Z skapata joined #scheme 2020-03-11T00:53:21Z zmt01 joined #scheme 2020-03-11T00:54:06Z zmt00 quit (Ping timeout: 256 seconds) 2020-03-11T00:57:46Z zmt01 quit (Ping timeout: 240 seconds) 2020-03-11T01:10:16Z cornett left #scheme 2020-03-11T01:25:48Z erkin: Maybe we do need a good, implementation-agnostic Scheme tutorial for absolute beginners. 2020-03-11T01:26:53Z drakonis joined #scheme 2020-03-11T01:32:43Z johncob joined #scheme 2020-03-11T01:34:20Z johncob_ quit (Ping timeout: 256 seconds) 2020-03-11T01:36:49Z phwalkr quit (Remote host closed the connection) 2020-03-11T01:38:41Z v_m_v joined #scheme 2020-03-11T01:43:38Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-11T02:04:11Z amerigo quit (Quit: Connection closed for inactivity) 2020-03-11T02:05:15Z phwalkr joined #scheme 2020-03-11T02:10:02Z phwalkr quit (Ping timeout: 256 seconds) 2020-03-11T02:10:20Z zmt00 joined #scheme 2020-03-11T02:15:44Z badkins quit (Remote host closed the connection) 2020-03-11T02:20:16Z zmt01 joined #scheme 2020-03-11T02:21:10Z zmt01 quit (Remote host closed the connection) 2020-03-11T02:21:35Z ahungry joined #scheme 2020-03-11T02:21:46Z zmt00 quit (Ping timeout: 240 seconds) 2020-03-11T02:25:10Z zmt00 joined #scheme 2020-03-11T02:47:47Z phwalkr joined #scheme 2020-03-11T02:51:46Z phwalkr quit (Ping timeout: 240 seconds) 2020-03-11T03:05:03Z Khisanth quit (Ping timeout: 260 seconds) 2020-03-11T03:05:21Z friscosam: Learn Scheme in Fixnum Days? 2020-03-11T03:10:36Z drakonis: its nice 2020-03-11T03:11:49Z friscosam: maybe should have an update 2020-03-11T03:12:18Z drakonis: yes 2020-03-11T03:17:31Z Khisanth joined #scheme 2020-03-11T03:18:01Z v_m_v joined #scheme 2020-03-11T03:22:21Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-11T03:43:57Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T03:44:53Z zmt01 joined #scheme 2020-03-11T03:46:05Z ahungry quit (Remote host closed the connection) 2020-03-11T03:48:10Z zmt00 quit (Ping timeout: 265 seconds) 2020-03-11T03:54:26Z drakonis quit (Ping timeout: 240 seconds) 2020-03-11T03:54:31Z gioyik joined #scheme 2020-03-11T03:58:24Z pilne quit (Quit: Hard work pays off in the future, laziness pays off now) 2020-03-11T04:12:02Z zmt01 quit (Ping timeout: 240 seconds) 2020-03-11T04:13:26Z zmt00 joined #scheme 2020-03-11T04:16:16Z badkins joined #scheme 2020-03-11T04:21:02Z badkins quit (Ping timeout: 265 seconds) 2020-03-11T04:25:13Z zdm joined #scheme 2020-03-11T04:39:09Z gravicappa joined #scheme 2020-03-11T04:43:20Z zaifir: I think the Scheme Wikibook would be a really good place for such a tutorial https://en.wikibooks.org/wiki/Scheme_Programming 2020-03-11T04:43:43Z mdhughes: I'd like to write the kind of BASIC starter book we had in the '70s & '80s, but for Scheme. But the Software Engineering tract comes first. 2020-03-11T04:45:34Z mdhughes: https://usborne.com/browse-books/features/computer-and-coding-books/ page down a bit 2020-03-11T04:47:24Z zaifir: Wow, and the PDFs are available. 2020-03-11T04:47:53Z mdhughes: Oh yeah. There's a bunch more on archive.org, too, but Usborne's were the cutest. 2020-03-11T04:48:56Z zaifir: It reminds me of Land of Lisp. I guess LOL was sort an hommage to playful 80s programming texts. 2020-03-11T04:50:57Z mdhughes: LoL definitely tries, but Barski is a little too overtly insane and mathematical to pull it off. 2020-03-11T04:51:19Z mdhughes: So it ends up being a good book for grown-up '80s kids, not a good book for modern kids. 2020-03-11T04:52:22Z zaifir: Hmm, I don't recall there being much mathematics in that book. It had a weirdly strident, but humorous, attack on the Republic Of Haskell... 2020-03-11T04:58:05Z mdhughes: LoL reminds me a lot of https://archive.org/details/ataribooks-dr-c-wacko-presents-atari-basic-jjj/mode/2up 2020-03-11T05:11:03Z jao quit (Ping timeout: 260 seconds) 2020-03-11T05:11:36Z v_m_v joined #scheme 2020-03-11T05:17:01Z v_m_v quit (Ping timeout: 268 seconds) 2020-03-11T05:20:20Z zaifir: Has anyone here edited the Scheme Wikibook in recent years? It seems to be mostly inactive at the moment, but I'm interested in getting it going again. 2020-03-11T05:45:27Z mdhughes: http://community.schemewiki.org ? I add stuff a bit, and see some other activity. 2020-03-11T05:48:18Z zaifir: That's also a good resource, or place for a good resource. But the Wikibook could be an actual book-length Scheme introduction. 2020-03-11T05:49:12Z zaifir: Wikis tend to be better for looking up specific topics, rather than getting a general presentation of the language. 2020-03-11T05:59:42Z skapata quit (Remote host closed the connection) 2020-03-11T06:19:19Z daviid quit (Ping timeout: 255 seconds) 2020-03-11T06:34:10Z gioyik quit (Ping timeout: 255 seconds) 2020-03-11T06:44:34Z rgherdt joined #scheme 2020-03-11T06:50:45Z ggoes quit (Ping timeout: 268 seconds) 2020-03-11T06:51:18Z ggoes joined #scheme 2020-03-11T06:52:04Z lockywolf_ joined #scheme 2020-03-11T06:55:51Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T07:03:22Z gioyik joined #scheme 2020-03-11T07:15:40Z aoh quit (Changing host) 2020-03-11T07:15:40Z aoh joined #scheme 2020-03-11T07:21:43Z klovett quit (Remote host closed the connection) 2020-03-11T07:22:17Z klovett joined #scheme 2020-03-11T07:30:40Z oxum joined #scheme 2020-03-11T07:32:11Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-11T07:35:32Z oxum quit (Ping timeout: 256 seconds) 2020-03-11T07:38:31Z zdm joined #scheme 2020-03-11T07:47:25Z brendyyn joined #scheme 2020-03-11T07:47:55Z sz0 joined #scheme 2020-03-11T07:56:21Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T08:07:06Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-11T08:13:06Z xelxebar quit (Remote host closed the connection) 2020-03-11T08:16:51Z xelxebar joined #scheme 2020-03-11T08:19:26Z luni joined #scheme 2020-03-11T08:24:45Z v_m_v joined #scheme 2020-03-11T08:29:23Z v_m_v quit (Ping timeout: 260 seconds) 2020-03-11T08:35:20Z oxum joined #scheme 2020-03-11T08:37:03Z luni quit (Remote host closed the connection) 2020-03-11T08:39:48Z luni joined #scheme 2020-03-11T08:41:29Z nerdypepper quit (Quit: bye) 2020-03-11T08:42:49Z oxum quit (Ping timeout: 258 seconds) 2020-03-11T08:45:40Z nerdypepper joined #scheme 2020-03-11T08:48:08Z abralek quit (Quit: Quit) 2020-03-11T08:48:43Z cartwright quit (Ping timeout: 240 seconds) 2020-03-11T08:49:03Z madage quit (Ping timeout: 240 seconds) 2020-03-11T08:49:12Z ozzloy quit (Ping timeout: 260 seconds) 2020-03-11T08:49:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-11T08:49:43Z tryte quit (Ping timeout: 240 seconds) 2020-03-11T08:49:55Z ozzloy joined #scheme 2020-03-11T08:57:04Z tryte joined #scheme 2020-03-11T08:57:50Z xelxebar joined #scheme 2020-03-11T08:58:14Z madage joined #scheme 2020-03-11T08:59:57Z cartwright joined #scheme 2020-03-11T09:11:54Z luni quit (Remote host closed the connection) 2020-03-11T09:18:31Z oxum joined #scheme 2020-03-11T09:18:48Z ecraven: ah, come on, isn't Basic authentication good enough? why Digest :-/ 2020-03-11T09:43:11Z edgar-rft: Basic authentication: 2020-03-11T09:43:11Z edgar-rft: 10 PRINT "Password: " 2020-03-11T09:43:11Z edgar-rft: 20 INPUT PW$ 2020-03-11T09:43:11Z edgar-rft: 30 PRINT "Nice attempt, sucker!" 2020-03-11T09:43:11Z edgar-rft: 40 GOTO 10 2020-03-11T09:45:02Z v_m_v joined #scheme 2020-03-11T09:46:55Z lockywolf joined #scheme 2020-03-11T09:50:58Z oxum quit (Ping timeout: 256 seconds) 2020-03-11T10:05:03Z lockywolf quit (Ping timeout: 260 seconds) 2020-03-11T10:15:51Z Retropikzel joined #scheme 2020-03-11T10:17:14Z badkins joined #scheme 2020-03-11T10:20:19Z Retropikzel left #scheme 2020-03-11T10:20:22Z oxum joined #scheme 2020-03-11T10:20:47Z Retropikzel joined #scheme 2020-03-11T10:21:34Z badkins quit (Ping timeout: 256 seconds) 2020-03-11T10:30:03Z tdammers: neither should be used in 2019 2020-03-11T10:30:08Z tdammers: or 2020 for that matter 2020-03-11T10:30:38Z tdammers: forms & session cookies, or just outsource it wholesale and use OAuth 2020-03-11T10:33:31Z johncob_ joined #scheme 2020-03-11T10:34:32Z Retropikzel left #scheme 2020-03-11T10:36:19Z johncob quit (Ping timeout: 260 seconds) 2020-03-11T10:48:20Z Retropikzel joined #scheme 2020-03-11T10:53:49Z oxum quit (Ping timeout: 255 seconds) 2020-03-11T10:54:08Z luni joined #scheme 2020-03-11T10:56:13Z lavaflow quit (Ping timeout: 258 seconds) 2020-03-11T10:57:57Z lavaflow joined #scheme 2020-03-11T10:58:28Z Retropikzel left #scheme 2020-03-11T10:58:48Z Retropikzel joined #scheme 2020-03-11T10:59:05Z Retropikzel quit (Client Quit) 2020-03-11T10:59:26Z zdm joined #scheme 2020-03-11T11:02:28Z v_m_v_ joined #scheme 2020-03-11T11:02:52Z civodul joined #scheme 2020-03-11T11:05:14Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-11T11:10:25Z v_m_v joined #scheme 2020-03-11T11:10:55Z v_m_v_ quit (Ping timeout: 255 seconds) 2020-03-11T11:11:48Z v_m_v_ joined #scheme 2020-03-11T11:15:15Z v_m_v quit (Ping timeout: 265 seconds) 2020-03-11T11:19:57Z Retropikzel joined #scheme 2020-03-11T11:20:48Z Retropikzel left #scheme 2020-03-11T11:21:05Z Retropikzel joined #scheme 2020-03-11T11:22:15Z Retropikzel left #scheme 2020-03-11T11:22:37Z lockywolf joined #scheme 2020-03-11T11:25:11Z lockywolf_ joined #scheme 2020-03-11T11:28:02Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-11T11:29:28Z oxum joined #scheme 2020-03-11T11:34:52Z Retropikzel joined #scheme 2020-03-11T11:35:02Z Retropikzel quit (Client Quit) 2020-03-11T11:35:17Z Retropikzel joined #scheme 2020-03-11T11:35:57Z Retropikzel left #scheme 2020-03-11T11:48:50Z kritixilithos joined #scheme 2020-03-11T11:55:50Z lritter joined #scheme 2020-03-11T12:07:11Z phwalkr joined #scheme 2020-03-11T12:16:02Z oxum quit (Ping timeout: 240 seconds) 2020-03-11T12:17:52Z gravicappa quit (Ping timeout: 258 seconds) 2020-03-11T12:21:14Z hugh_marera joined #scheme 2020-03-11T12:25:23Z oxum joined #scheme 2020-03-11T12:30:33Z wasamasa: mdhughes: nice book 2020-03-11T12:38:09Z oxum quit (Remote host closed the connection) 2020-03-11T12:38:31Z oxum joined #scheme 2020-03-11T12:38:46Z whiteline quit (Remote host closed the connection) 2020-03-11T12:39:25Z whiteline joined #scheme 2020-03-11T12:40:16Z whiteline quit (Remote host closed the connection) 2020-03-11T12:40:49Z whiteline joined #scheme 2020-03-11T12:58:31Z klovett quit (Remote host closed the connection) 2020-03-11T12:58:50Z klovett joined #scheme 2020-03-11T13:06:55Z sudden quit (Ping timeout: 268 seconds) 2020-03-11T13:07:58Z v_m_v joined #scheme 2020-03-11T13:08:32Z sudden joined #scheme 2020-03-11T13:08:40Z jao joined #scheme 2020-03-11T13:11:04Z v_m_v_ quit (Ping timeout: 255 seconds) 2020-03-11T13:11:44Z revtintin joined #scheme 2020-03-11T13:15:01Z v_m_v_ joined #scheme 2020-03-11T13:18:43Z v_m_v quit (Ping timeout: 260 seconds) 2020-03-11T13:21:41Z hugh_marera quit (Quit: hugh_marera) 2020-03-11T13:34:48Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T13:35:29Z badkins joined #scheme 2020-03-11T13:40:41Z phwalkr quit (Remote host closed the connection) 2020-03-11T13:41:07Z phwalkr joined #scheme 2020-03-11T13:45:31Z mdhughes: I tried using basic auth for something a while back, and it was a mess; logging out was ugly. Cookies are much better. 2020-03-11T13:59:44Z lucasb joined #scheme 2020-03-11T14:09:18Z gravicappa joined #scheme 2020-03-11T14:11:58Z drakonis joined #scheme 2020-03-11T14:15:32Z gioyik quit (Ping timeout: 265 seconds) 2020-03-11T14:28:45Z skapata joined #scheme 2020-03-11T14:34:03Z gioyik joined #scheme 2020-03-11T14:36:39Z jao quit (Ping timeout: 260 seconds) 2020-03-11T14:36:52Z pierpal joined #scheme 2020-03-11T14:41:25Z Naptra joined #scheme 2020-03-11T14:44:10Z sarna quit (Quit: bye) 2020-03-11T14:52:28Z sarna joined #scheme 2020-03-11T15:11:49Z lockywolf_ quit (Remote host closed the connection) 2020-03-11T15:12:12Z zdm joined #scheme 2020-03-11T15:12:20Z lockywolf_ joined #scheme 2020-03-11T15:13:15Z lockywolf_ quit (Remote host closed the connection) 2020-03-11T15:13:20Z brendyyn quit (Ping timeout: 268 seconds) 2020-03-11T15:14:03Z lockywolf_ joined #scheme 2020-03-11T15:14:45Z lockywolf_ quit (Remote host closed the connection) 2020-03-11T15:26:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-11T15:26:55Z jcowan: Looks like Digest is actually pretty good, better than roll-your-own 2020-03-11T15:27:16Z jcowan: The site doesn't control how the auth popup looks, however 2020-03-11T15:28:06Z xelxebar joined #scheme 2020-03-11T15:29:59Z mr_machina joined #scheme 2020-03-11T15:30:47Z lockywolf joined #scheme 2020-03-11T15:32:46Z lockywolf quit (Remote host closed the connection) 2020-03-11T15:32:54Z X-Scale` joined #scheme 2020-03-11T15:33:32Z lockywolf joined #scheme 2020-03-11T15:33:46Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-11T15:33:46Z X-Scale` is now known as X-Scale 2020-03-11T15:34:14Z lockywolf quit (Remote host closed the connection) 2020-03-11T15:35:02Z lockywolf joined #scheme 2020-03-11T15:35:16Z lockywolf quit (Max SendQ exceeded) 2020-03-11T15:38:02Z ecraven: jcowan: yea, but it's way more complicated than Basic, especially involving another round-trip 2020-03-11T15:38:05Z ecraven: for things like REST APIs 2020-03-11T15:42:18Z pierpal quit (Read error: Connection reset by peer) 2020-03-11T15:43:36Z zooey_ joined #scheme 2020-03-11T15:46:03Z zooey quit (Ping timeout: 240 seconds) 2020-03-11T16:06:31Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-11T16:07:36Z badkins quit (Remote host closed the connection) 2020-03-11T16:09:28Z badkins joined #scheme 2020-03-11T16:14:00Z badkins quit (Ping timeout: 258 seconds) 2020-03-11T16:14:30Z v_m_v joined #scheme 2020-03-11T16:18:00Z v_m_v_ quit (Ping timeout: 256 seconds) 2020-03-11T16:24:24Z klovett quit 2020-03-11T16:38:51Z daviid joined #scheme 2020-03-11T16:45:21Z bandali quit (Remote host closed the connection) 2020-03-11T16:53:19Z mdhughes: Same problem of logout, too. You really want control of auth lifecycle, and neither give you that. Forgotten password workflow is really dumb with basic or digest auth. 2020-03-11T16:53:36Z luni quit (Remote host closed the connection) 2020-03-11T16:54:00Z ecraven: for rest api, not really :P 2020-03-11T16:54:03Z ecraven: only with a browser 2020-03-11T16:59:55Z klovett joined #scheme 2020-03-11T17:00:19Z Naptra quit (Quit: Leaving) 2020-03-11T17:02:13Z bandali joined #scheme 2020-03-11T17:13:55Z bandali quit (Quit: ZNC - https://znc.in) 2020-03-11T17:31:45Z v_m_v quit (Remote host closed the connection) 2020-03-11T17:32:12Z v_m_v joined #scheme 2020-03-11T17:36:46Z bandali joined #scheme 2020-03-11T17:37:05Z v_m_v quit (Ping timeout: 265 seconds) 2020-03-11T17:50:21Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T18:02:11Z badkins joined #scheme 2020-03-11T18:03:30Z skapata quit (Quit: Ĝis!) 2020-03-11T18:04:45Z luni joined #scheme 2020-03-11T18:06:21Z duncanm: ecraven: hey! 2020-03-11T18:07:10Z badkins quit (Ping timeout: 255 seconds) 2020-03-11T18:07:15Z jao joined #scheme 2020-03-11T18:10:02Z phwalkr quit 2020-03-11T18:22:27Z rgherdt joined #scheme 2020-03-11T18:23:58Z revtintin quit (Quit: WeeChat 2.7.1) 2020-03-11T18:26:18Z ullbeking: hi all, does anybody have any examples of websites or blogs created using the qwiki set of libraries in chicken scheme + awful? 2020-03-11T18:32:02Z retropikzel joined #scheme 2020-03-11T18:47:56Z deesix quit (Ping timeout: 268 seconds) 2020-03-11T18:48:18Z deesix joined #scheme 2020-03-11T19:07:24Z badkins joined #scheme 2020-03-11T19:14:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-11T19:26:42Z acarrico quit (Ping timeout: 256 seconds) 2020-03-11T19:27:44Z zooey_ quit (Quit: quit) 2020-03-11T19:28:37Z zooey joined #scheme 2020-03-11T19:35:42Z X-Scale` joined #scheme 2020-03-11T19:35:49Z X-Scale quit (Ping timeout: 255 seconds) 2020-03-11T19:36:28Z X-Scale` is now known as X-Scale 2020-03-11T19:43:30Z badkins quit (Remote host closed the connection) 2020-03-11T19:44:05Z badkins joined #scheme 2020-03-11T19:52:54Z badkins quit (Ping timeout: 265 seconds) 2020-03-11T20:01:23Z badkins joined #scheme 2020-03-11T20:13:34Z v_m_v joined #scheme 2020-03-11T20:19:34Z gmaggior joined #scheme 2020-03-11T20:26:07Z isposdef joined #scheme 2020-03-11T20:30:23Z retropikzel quit (Read error: Connection reset by peer) 2020-03-11T20:46:46Z whiteline quit (Remote host closed the connection) 2020-03-11T20:47:15Z whiteline joined #scheme 2020-03-11T20:52:30Z gravicappa quit (Ping timeout: 268 seconds) 2020-03-11T21:09:30Z badkins quit (Remote host closed the connection) 2020-03-11T21:10:10Z luni quit (Remote host closed the connection) 2020-03-11T21:16:44Z v_m_v quit (Remote host closed the connection) 2020-03-11T21:20:40Z badkins joined #scheme 2020-03-11T21:20:40Z badkins quit (Remote host closed the connection) 2020-03-11T21:20:49Z badkins joined #scheme 2020-03-11T21:41:03Z klovett quit 2020-03-11T21:45:17Z gioyik quit (Quit: WeeChat 2.7) 2020-03-11T21:47:43Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-11T21:50:22Z Zenton joined #scheme 2020-03-11T21:51:16Z torbo joined #scheme 2020-03-11T22:08:08Z nly quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-11T22:10:01Z nly joined #scheme 2020-03-11T22:14:23Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-11T22:31:48Z r1b quit (Remote host closed the connection) 2020-03-11T22:35:51Z torbo quit (Remote host closed the connection) 2020-03-11T22:36:51Z stephe quit (Remote host closed the connection) 2020-03-11T22:36:53Z ng0 quit (Remote host closed the connection) 2020-03-11T22:38:19Z stephe joined #scheme 2020-03-11T22:40:12Z r1b joined #scheme 2020-03-11T22:41:08Z klovett joined #scheme 2020-03-11T22:45:45Z ng0 joined #scheme 2020-03-11T22:46:17Z timwis quit (Remote host closed the connection) 2020-03-11T22:46:17Z andreh quit (Remote host closed the connection) 2020-03-11T22:46:17Z kilimanjaro quit (Remote host closed the connection) 2020-03-11T22:46:17Z cemerick quit (Remote host closed the connection) 2020-03-11T22:47:19Z cemerick joined #scheme 2020-03-11T22:47:39Z kilimanjaro joined #scheme 2020-03-11T22:48:27Z timwis joined #scheme 2020-03-11T22:50:17Z dto quit (Remote host closed the connection) 2020-03-11T22:50:17Z fowlduck quit (Remote host closed the connection) 2020-03-11T22:50:17Z samth quit (Remote host closed the connection) 2020-03-11T22:50:17Z jcowan quit (Remote host closed the connection) 2020-03-11T22:50:17Z physpi quit (Remote host closed the connection) 2020-03-11T22:50:17Z jyc_ quit (Remote host closed the connection) 2020-03-11T22:50:17Z ullbeking quit (Remote host closed the connection) 2020-03-11T22:50:56Z ullbeking joined #scheme 2020-03-11T22:51:00Z fowlduck joined #scheme 2020-03-11T22:51:31Z andreh joined #scheme 2020-03-11T22:51:33Z samth joined #scheme 2020-03-11T22:52:04Z v_m_v joined #scheme 2020-03-11T22:52:41Z jyc_ joined #scheme 2020-03-11T22:53:57Z physpi joined #scheme 2020-03-11T22:54:45Z jcowan joined #scheme 2020-03-11T22:55:08Z dto joined #scheme 2020-03-11T22:55:21Z zdm joined #scheme 2020-03-11T22:56:03Z terrorjack___ quit (Remote host closed the connection) 2020-03-11T22:56:03Z rann quit (Remote host closed the connection) 2020-03-11T22:56:03Z d_run quit (Remote host closed the connection) 2020-03-11T22:56:04Z bchar quit (Remote host closed the connection) 2020-03-11T22:56:04Z lucasb quit (Remote host closed the connection) 2020-03-11T22:56:16Z TCZ joined #scheme 2020-03-11T22:58:42Z bchar joined #scheme 2020-03-11T22:58:56Z d_run joined #scheme 2020-03-11T23:00:20Z rann joined #scheme 2020-03-11T23:00:56Z terrorjack___ joined #scheme 2020-03-11T23:03:48Z lucasb joined #scheme 2020-03-11T23:06:21Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-11T23:12:39Z ravndal quit (Quit: WeeChat 2.7.1) 2020-03-11T23:14:21Z ravndal joined #scheme 2020-03-11T23:14:31Z ngz joined #scheme 2020-03-11T23:16:57Z v_m_v quit (Remote host closed the connection) 2020-03-11T23:21:52Z lritter quit (Ping timeout: 256 seconds) 2020-03-11T23:22:48Z TCZ quit (Quit: Leaving) 2020-03-11T23:29:27Z badkins quit (Remote host closed the connection) 2020-03-11T23:29:56Z nly quit (Remote host closed the connection) 2020-03-11T23:30:10Z badkins joined #scheme 2020-03-11T23:31:12Z copec quit (Quit: checkity check out.) 2020-03-11T23:31:53Z badkins quit (Remote host closed the connection) 2020-03-11T23:33:27Z badkins joined #scheme 2020-03-11T23:35:07Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-11T23:38:18Z copec joined #scheme 2020-03-11T23:38:29Z zdm joined #scheme 2020-03-11T23:43:10Z gmaggior quit (Quit: Leaving) 2020-03-11T23:52:40Z seepel joined #scheme 2020-03-11T23:56:12Z badkins quit (Remote host closed the connection) 2020-03-11T23:56:53Z badkins joined #scheme 2020-03-12T00:01:38Z badkins quit (Ping timeout: 240 seconds) 2020-03-12T00:09:51Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-12T00:10:12Z badkins joined #scheme 2020-03-12T00:10:57Z ngz quit (Ping timeout: 272 seconds) 2020-03-12T00:16:40Z acarrico joined #scheme 2020-03-12T00:17:58Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-12T00:28:53Z badkins quit (Remote host closed the connection) 2020-03-12T00:30:28Z badkins joined #scheme 2020-03-12T00:34:50Z badkins quit (Ping timeout: 240 seconds) 2020-03-12T00:42:12Z Khisanth joined #scheme 2020-03-12T00:43:47Z skapata joined #scheme 2020-03-12T00:48:50Z zaifir quit (Ping timeout: 240 seconds) 2020-03-12T00:50:45Z zaifir joined #scheme 2020-03-12T01:01:38Z badkins joined #scheme 2020-03-12T01:06:06Z badkins quit (Ping timeout: 265 seconds) 2020-03-12T01:13:31Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-12T01:18:02Z seepel quit (Ping timeout: 256 seconds) 2020-03-12T01:23:32Z isposdef quit (Remote host closed the connection) 2020-03-12T01:24:15Z TCZ joined #scheme 2020-03-12T01:25:22Z TCZ quit (Client Quit) 2020-03-12T01:33:48Z ahungry joined #scheme 2020-03-12T01:40:20Z badkins joined #scheme 2020-03-12T01:44:55Z badkins quit (Ping timeout: 260 seconds) 2020-03-12T02:06:24Z zdm joined #scheme 2020-03-12T02:07:08Z zdm quit (Client Quit) 2020-03-12T02:08:55Z zdm joined #scheme 2020-03-12T02:10:37Z seepel joined #scheme 2020-03-12T02:14:49Z seepel quit (Read error: Connection reset by peer) 2020-03-12T02:15:20Z skapata quit (Remote host closed the connection) 2020-03-12T02:23:42Z badkins joined #scheme 2020-03-12T02:29:13Z badkins quit (Remote host closed the connection) 2020-03-12T02:34:39Z brendyyn joined #scheme 2020-03-12T02:41:03Z drakonis joined #scheme 2020-03-12T03:05:08Z jao quit (Ping timeout: 256 seconds) 2020-03-12T04:01:05Z stultulo joined #scheme 2020-03-12T04:02:02Z f8l quit (Ping timeout: 265 seconds) 2020-03-12T04:02:02Z stultulo is now known as f8l 2020-03-12T04:11:01Z delucks joined #scheme 2020-03-12T04:19:38Z revtintin joined #scheme 2020-03-12T04:29:03Z zdm quit (Ping timeout: 240 seconds) 2020-03-12T04:29:54Z badkins joined #scheme 2020-03-12T04:34:02Z badkins quit (Ping timeout: 240 seconds) 2020-03-12T05:03:34Z ahungry quit (Remote host closed the connection) 2020-03-12T05:29:05Z oxum quit (Remote host closed the connection) 2020-03-12T05:30:00Z klovett quit (Remote host closed the connection) 2020-03-12T05:30:34Z klovett joined #scheme 2020-03-12T05:39:16Z mr_machina quit (Remote host closed the connection) 2020-03-12T05:47:22Z enderby quit (Ping timeout: 255 seconds) 2020-03-12T05:54:41Z gravicappa joined #scheme 2020-03-12T05:55:19Z oxum joined #scheme 2020-03-12T06:09:41Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-12T06:19:28Z ecraven: duncanm: heyho ;) how are you? 2020-03-12T06:21:10Z oxum_ joined #scheme 2020-03-12T06:21:20Z oxum quit (Read error: Connection reset by peer) 2020-03-12T06:21:55Z oxum joined #scheme 2020-03-12T06:26:04Z oxum_ quit (Ping timeout: 265 seconds) 2020-03-12T06:45:52Z lockywolf__ joined #scheme 2020-03-12T06:47:14Z lockywolf__: Do I understand correctly that the section 7.1.1 is the flex-specification of r7rs, and 7.1.2 is the bison specification? 2020-03-12T06:47:30Z lockywolf__: I mean, of the r7rs-small pdf. 2020-03-12T06:50:42Z zaifir: Well, neither section is in Lex/YACC-readable form, so, in that sense, no and no. 2020-03-12T06:52:56Z zaifir: lockywolf__: But I'm not sure I understand what you mean by a "flex specification" or "bison specification" is. 2020-03-12T06:53:08Z zaifir: s/ is// 2020-03-12T06:54:28Z lockywolf_ joined #scheme 2020-03-12T06:56:49Z lockywolf__ quit (Ping timeout: 258 seconds) 2020-03-12T06:57:56Z rgherdt joined #scheme 2020-03-12T07:03:44Z zaifir: lockywolf_: 7.1.1 defines lexical structure, so that's what you would feed a lex. The rest of the 7.1 section is what you'd use to define your parser. c.f. the first paragraph of 7.1.1 2020-03-12T07:04:37Z zaifir: ’night all. 2020-03-12T07:09:09Z lockywolf_: I don't entirely (or, rather, not at all) understand the difference between 7.1.2 and rest of the chapter 7. 2020-03-12T07:10:14Z kritixilithos joined #scheme 2020-03-12T07:10:19Z CORDIC quit (Read error: Connection reset by peer) 2020-03-12T07:20:04Z rgherdt quit (Ping timeout: 255 seconds) 2020-03-12T07:30:36Z ngz joined #scheme 2020-03-12T07:35:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-12T07:36:00Z oxum_ joined #scheme 2020-03-12T07:36:33Z oxum quit (Read error: Connection reset by peer) 2020-03-12T07:38:44Z kritixilithos joined #scheme 2020-03-12T07:42:07Z oxum joined #scheme 2020-03-12T07:45:49Z oxum_ quit (Ping timeout: 265 seconds) 2020-03-12T08:13:58Z malaclyps quit (Ping timeout: 256 seconds) 2020-03-12T08:17:12Z xelxebar_ joined #scheme 2020-03-12T08:18:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-12T08:18:48Z malaclyps joined #scheme 2020-03-12T08:25:39Z lockywolf__ joined #scheme 2020-03-12T08:28:42Z ngz quit (Ping timeout: 246 seconds) 2020-03-12T08:28:50Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-12T08:30:26Z badkins joined #scheme 2020-03-12T08:34:07Z civodul joined #scheme 2020-03-12T08:35:07Z badkins quit (Ping timeout: 265 seconds) 2020-03-12T08:41:34Z oxum_ joined #scheme 2020-03-12T08:45:22Z oxum quit (Ping timeout: 268 seconds) 2020-03-12T08:45:23Z mdhughes quit (Ping timeout: 260 seconds) 2020-03-12T08:49:44Z mdhughes joined #scheme 2020-03-12T08:58:15Z lockywolf_ joined #scheme 2020-03-12T08:59:11Z lockywolf_ quit (Remote host closed the connection) 2020-03-12T08:59:36Z lockywolf_ joined #scheme 2020-03-12T09:00:11Z mdhughes quit 2020-03-12T09:00:24Z mdhughes joined #scheme 2020-03-12T09:00:41Z lockywolf_ quit (Remote host closed the connection) 2020-03-12T09:01:07Z lockywolf__ quit (Ping timeout: 260 seconds) 2020-03-12T09:01:15Z lockywolf_ joined #scheme 2020-03-12T09:02:42Z lockywolf_ quit (Remote host closed the connection) 2020-03-12T09:03:09Z lockywolf_ joined #scheme 2020-03-12T09:23:04Z v_m_v joined #scheme 2020-03-12T09:24:11Z lockywolf__ joined #scheme 2020-03-12T09:26:07Z zooey quit (Remote host closed the connection) 2020-03-12T09:26:26Z zooey joined #scheme 2020-03-12T09:26:46Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-12T09:36:02Z oxum joined #scheme 2020-03-12T09:38:45Z oxum quit (Remote host closed the connection) 2020-03-12T09:38:46Z v_m_v quit (Remote host closed the connection) 2020-03-12T09:39:22Z oxum joined #scheme 2020-03-12T09:39:42Z oxum_ quit (Read error: Connection reset by peer) 2020-03-12T09:56:43Z madage quit (Ping timeout: 240 seconds) 2020-03-12T10:03:40Z madage joined #scheme 2020-03-12T10:05:46Z oxum quit (Read error: Connection reset by peer) 2020-03-12T10:05:58Z oxum joined #scheme 2020-03-12T10:14:27Z luni joined #scheme 2020-03-12T10:15:00Z v_m_v joined #scheme 2020-03-12T10:15:27Z RRedcroft joined #scheme 2020-03-12T10:17:19Z lockywolf__ quit (Ping timeout: 260 seconds) 2020-03-12T10:19:21Z lritter joined #scheme 2020-03-12T10:19:36Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-12T10:26:38Z oxum_ joined #scheme 2020-03-12T10:27:08Z oxum quit (Ping timeout: 256 seconds) 2020-03-12T10:29:11Z oxum_ quit (Remote host closed the connection) 2020-03-12T10:29:46Z oxum joined #scheme 2020-03-12T10:40:43Z RRedcroft quit (Remote host closed the connection) 2020-03-12T10:42:39Z RRedcroft joined #scheme 2020-03-12T10:43:39Z sarna: hello, do any schemes have something similar to common lisp's condition system? 2020-03-12T10:44:10Z sarna: or, like, are any schemes more interactive than others? 2020-03-12T10:47:38Z sarna finds out it's possible to have it with first-class continuations 2020-03-12T10:47:46Z sarna: my second question still stands :) 2020-03-12T10:53:19Z v_m_v joined #scheme 2020-03-12T10:53:28Z pmden joined #scheme 2020-03-12T10:53:43Z lockywolf joined #scheme 2020-03-12T10:56:46Z ecraven: sarna: mit/gnu scheme is the most interactive I've found 2020-03-12T10:56:51Z ecraven: it supports restarts and conditions 2020-03-12T10:57:55Z lockywolf_ joined #scheme 2020-03-12T10:58:31Z sarna: ecraven: neat, thanks. I'll check it out 2020-03-12T11:01:08Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-12T11:03:03Z nly joined #scheme 2020-03-12T11:04:49Z revtintin quit (Quit: WeeChat 2.7.1) 2020-03-12T11:20:32Z v_m_v quit (Remote host closed the connection) 2020-03-12T11:20:58Z v_m_v joined #scheme 2020-03-12T11:25:27Z v_m_v quit (Ping timeout: 260 seconds) 2020-03-12T11:41:28Z lockywolf__ joined #scheme 2020-03-12T11:43:46Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-12T12:01:39Z Naptra joined #scheme 2020-03-12T12:02:44Z zmt01 joined #scheme 2020-03-12T12:03:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-12T12:03:07Z zmt00 quit (Ping timeout: 255 seconds) 2020-03-12T12:07:52Z RRedcroft quit (Remote host closed the connection) 2020-03-12T12:10:42Z webshinra quit (Remote host closed the connection) 2020-03-12T12:17:35Z jao joined #scheme 2020-03-12T12:27:48Z ggole joined #scheme 2020-03-12T12:37:59Z brendyyn quit (Ping timeout: 258 seconds) 2020-03-12T12:38:17Z niklasl joined #scheme 2020-03-12T12:41:52Z kritixilithos joined #scheme 2020-03-12T12:48:10Z RRedcroft joined #scheme 2020-03-12T12:55:21Z luni quit (Remote host closed the connection) 2020-03-12T12:58:31Z klovett quit (Remote host closed the connection) 2020-03-12T12:58:49Z klovett joined #scheme 2020-03-12T13:01:11Z pmden quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-12T13:03:55Z niklasl quit (Ping timeout: 260 seconds) 2020-03-12T13:26:45Z h11 quit (Quit: The Lounge - https://thelounge.chat) 2020-03-12T13:28:37Z nly quit (Ping timeout: 255 seconds) 2020-03-12T13:29:02Z hugh_marera joined #scheme 2020-03-12T13:38:18Z joast quit (Quit: Leaving.) 2020-03-12T13:38:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-12T13:39:50Z zdm joined #scheme 2020-03-12T13:40:20Z joast joined #scheme 2020-03-12T13:58:58Z lockywolf_ joined #scheme 2020-03-12T14:00:01Z lockywolf__ quit (Read error: Connection reset by peer) 2020-03-12T14:04:27Z RRedcroft quit (Ping timeout: 240 seconds) 2020-03-12T14:04:54Z webshinra joined #scheme 2020-03-12T14:12:15Z v_m_v joined #scheme 2020-03-12T14:16:41Z lockywolf__ joined #scheme 2020-03-12T14:17:08Z oxum_ joined #scheme 2020-03-12T14:17:29Z lockywolf__ quit (Remote host closed the connection) 2020-03-12T14:17:30Z oxum_ quit (Remote host closed the connection) 2020-03-12T14:17:55Z lockywolf__ joined #scheme 2020-03-12T14:18:05Z oxum_ joined #scheme 2020-03-12T14:18:50Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-12T14:20:13Z oxum quit (Ping timeout: 268 seconds) 2020-03-12T14:28:28Z notnotdan left #scheme 2020-03-12T14:31:56Z v_m_v quit (Remote host closed the connection) 2020-03-12T14:36:01Z terpri joined #scheme 2020-03-12T14:36:56Z v_m_v joined #scheme 2020-03-12T14:41:34Z skapata joined #scheme 2020-03-12T14:43:47Z v_m_v quit (Remote host closed the connection) 2020-03-12T14:43:52Z TCZ joined #scheme 2020-03-12T14:47:02Z v_m_v joined #scheme 2020-03-12T14:53:44Z coffeeturtle joined #scheme 2020-03-12T14:54:23Z Riastradh: sarna: Technically yes but nobody really uses them seriously, as far as I can tell. 2020-03-12T14:54:56Z RRedcroft joined #scheme 2020-03-12T15:05:35Z v_m_v_ joined #scheme 2020-03-12T15:06:02Z badkins joined #scheme 2020-03-12T15:08:46Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-12T15:16:24Z smazga joined #scheme 2020-03-12T15:16:50Z smazga quit (Client Quit) 2020-03-12T15:17:24Z drakonis joined #scheme 2020-03-12T15:21:19Z TCZ quit (Quit: Leaving) 2020-03-12T15:23:44Z nly joined #scheme 2020-03-12T15:25:05Z h11 joined #scheme 2020-03-12T15:27:02Z v_m_v_ quit (Ping timeout: 258 seconds) 2020-03-12T15:52:14Z faLUCE joined #scheme 2020-03-12T15:52:47Z faLUCE: hello. How can I add to myList = '( A A A) 9 additional "A" ? 2020-03-12T15:58:34Z pjb: faLUCE: by defining the addition operation for lists and strings. 2020-03-12T15:58:42Z pjb: (add myList 9 "A") 2020-03-12T15:58:55Z pjb: (define (add list n strings) …?) 2020-03-12T15:59:01Z pjb: What do you mean? 2020-03-12T16:00:32Z pjb: faLUCE: first, you should note that a list obtained from the expression '(A A A) is a literal list (A A A), and it is immutable. So define your addition operation carefuly! 2020-03-12T16:02:10Z faLUCE: pjb: I add one element to it with (set! myList (cons 'A myList)) 2020-03-12T16:02:24Z faLUCE: how can I do the same 9 times? 2020-03-12T16:03:57Z skapata quit (Remote host closed the connection) 2020-03-12T16:05:16Z zig: using a named-let. 2020-03-12T16:07:33Z gwatt: You could also do (append (make-list 9 'A) myList) 2020-03-12T16:08:28Z whiteline_ joined #scheme 2020-03-12T16:08:38Z faLUCE: thnks 2020-03-12T16:08:53Z badkins quit (Remote host closed the connection) 2020-03-12T16:09:23Z madage quit (Ping timeout: 240 seconds) 2020-03-12T16:10:02Z madage joined #scheme 2020-03-12T16:10:21Z mr_machina joined #scheme 2020-03-12T16:10:25Z whiteline quit (Ping timeout: 265 seconds) 2020-03-12T16:17:34Z pjb: (define (repeat n thunk) (if (> 0 n) (begin (thunk) (repeat (- n 1) thunk)))) (repeat 9 (lambda () (set! myList (cons 'A myList)))) 2020-03-12T16:18:15Z pjb: faLUCE: note that using append or cons like this will share the structure of the original myList. Thus your new list must also be considered as immutable. 2020-03-12T16:22:29Z pjb: faLUCE: also, note how you define the operation addition of list and strings as the construction of a new list of a symbol and the old list. My point was that if you used the right word, ie. construction of a new list, ie. use CONS, instead of the wrong word addition, things are soon easier to understand and implement. 2020-03-12T16:27:11Z zaifir: faLUCE: Is there a reason you need to do anything 9 times? The straightforward way to do this is (set! myList (append myList (make-list 9 'A))). 2020-03-12T16:28:41Z zaifir: faLUCE: It does seem that your questions are often phrased in terms of "how can I do x n times?". It's often possible to look at the problem in terms of constructing a desired value, rather than iterating some code. 2020-03-12T16:29:47Z v_m_v_ joined #scheme 2020-03-12T16:40:14Z faLUCE: pjb: for my simple case gwatt suggestion worked fine 2020-03-12T16:40:25Z faLUCE: thanks anyway 2020-03-12T16:40:27Z jcowan: lockywolf__: 7.1.2 represents the fact that (car (cdr x)) can be one of two things in Scheme: a piece of data (as explained in 7.1.2) or a piece of code (as explained in the rest of 7.1) 2020-03-12T16:41:17Z isposdef joined #scheme 2020-03-12T16:41:17Z v_m_v_ quit (Remote host closed the connection) 2020-03-12T16:41:19Z jcowan: Most Schemes have conditions. Only R6RS standardizes them, but it is difficult for other Schemes to adapt to the standardization (IMO one of the main reasons why pre-existing Schemes did not switch to R6RS) 2020-03-12T16:41:31Z jcowan: Restarts are not yet common, but I'm working on it. 2020-03-12T16:42:09Z Riastradh: jcowan: Are you working on it because other systems technically have them, or because you actually see meaningful useful applications of them? 2020-03-12T16:43:42Z jcowan: I am working on them (based on your writings, thank you) because I think that restartable conditions are a fine thing that should be used more often, and restarts provide a protocol for communicating between thrower and catcher. 2020-03-12T16:43:50Z jcowan: catcher and thrower 2020-03-12T16:44:03Z isposdef quit (Remote host closed the connection) 2020-03-12T16:45:17Z duncanm: hey Riastradh 2020-03-12T16:46:55Z mr_machina quit (Read error: Connection reset by peer) 2020-03-12T16:54:58Z kritixilithos joined #scheme 2020-03-12T16:56:46Z rgherdt joined #scheme 2020-03-12T17:00:29Z lockywolf_ joined #scheme 2020-03-12T17:02:46Z lockywolf__ quit (Ping timeout: 240 seconds) 2020-03-12T17:05:17Z kori joined #scheme 2020-03-12T17:05:17Z kori quit (Changing host) 2020-03-12T17:05:17Z kori joined #scheme 2020-03-12T17:06:42Z RRedcroft quit (Ping timeout: 258 seconds) 2020-03-12T17:08:11Z gwatt: jcowan: are restarts going to behave like raise-continuable in r6rs? 2020-03-12T17:08:36Z jcowan: raise-continuable is in R7RS too 2020-03-12T17:09:27Z jcowan: Restarts actually have nothing to do with conditions, except that the creator of a condition (which can in all Lisps actually be any object) can associate restarts with it. 2020-03-12T17:18:44Z gwatt: ah, ok 2020-03-12T17:30:52Z oxum joined #scheme 2020-03-12T17:34:31Z oxum_ quit (Ping timeout: 265 seconds) 2020-03-12T17:44:41Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-12T17:48:56Z zig: jcowan: I did not understand you last message regarding JSON SRFI json-fold. Why the seed should be #f? What is the point except reducing the initial number of arguments in json-fold? 2020-03-12T17:53:23Z kritixil1 joined #scheme 2020-03-12T17:55:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-12T17:56:29Z ggoes quit (Quit: WeeChat 2.3) 2020-03-12T17:56:58Z ggoes joined #scheme 2020-03-12T18:02:25Z luni joined #scheme 2020-03-12T18:06:05Z jcowan: zig: Taking a look now 2020-03-12T18:07:43Z jcowan: I see, the problem is just terminological. What you call the seed, I call the state, reserving "seed" for the initial value of the state. The rest is just brain farts on my part. 2020-03-12T18:16:26Z kori quit (Ping timeout: 240 seconds) 2020-03-12T18:38:50Z _apg quit (Remote host closed the connection) 2020-03-12T18:41:43Z _apg joined #scheme 2020-03-12T18:44:44Z coffeeturtle quit (Remote host closed the connection) 2020-03-12T18:48:22Z xkapastel joined #scheme 2020-03-12T18:54:43Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-12T18:54:52Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-12T18:59:06Z faLUCE quit (Ping timeout: 265 seconds) 2020-03-12T18:59:50Z faLUCE joined #scheme 2020-03-12T19:07:20Z oxum quit (Ping timeout: 256 seconds) 2020-03-12T19:21:09Z nullus joined #scheme 2020-03-12T19:22:36Z oxum joined #scheme 2020-03-12T19:22:54Z oxum quit (Remote host closed the connection) 2020-03-12T19:23:23Z oxum joined #scheme 2020-03-12T19:34:40Z X-Scale` joined #scheme 2020-03-12T19:35:26Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-12T19:35:26Z X-Scale` is now known as X-Scale 2020-03-12T19:59:13Z badkins joined #scheme 2020-03-12T20:04:26Z civodul joined #scheme 2020-03-12T20:19:48Z ng0_ joined #scheme 2020-03-12T20:20:05Z ng0_ quit (Client Quit) 2020-03-12T20:31:31Z oni-on-ion quit (Quit: Quit) 2020-03-12T20:43:29Z Naptra quit (Remote host closed the connection) 2020-03-12T20:49:38Z shymega joined #scheme 2020-03-12T21:00:52Z ggole quit (Quit: Leaving) 2020-03-12T21:04:03Z madage quit (Ping timeout: 240 seconds) 2020-03-12T21:05:54Z oni-on-ion joined #scheme 2020-03-12T21:10:30Z madage joined #scheme 2020-03-12T21:20:14Z whiteline_ quit (Remote host closed the connection) 2020-03-12T21:20:33Z whiteline joined #scheme 2020-03-12T21:25:15Z whiteline_ joined #scheme 2020-03-12T21:25:19Z whiteline quit (Read error: Connection reset by peer) 2020-03-12T21:26:43Z whiteline_ quit (Remote host closed the connection) 2020-03-12T21:27:27Z whiteline joined #scheme 2020-03-12T21:29:23Z badkins quit (Remote host closed the connection) 2020-03-12T21:30:00Z badkins joined #scheme 2020-03-12T21:35:51Z badkins quit (Remote host closed the connection) 2020-03-12T21:36:01Z badkins_ joined #scheme 2020-03-12T21:36:31Z hugh_marera quit (Quit: hugh_marera) 2020-03-12T21:51:40Z ravndal quit (Ping timeout: 256 seconds) 2020-03-12T21:53:37Z ravndal joined #scheme 2020-03-12T22:00:03Z rgherdt quit (Ping timeout: 272 seconds) 2020-03-12T22:00:19Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-12T22:20:52Z TCZ joined #scheme 2020-03-12T22:22:47Z lritter quit (Quit: Leaving) 2020-03-12T22:49:00Z luni quit (Remote host closed the connection) 2020-03-12T22:51:42Z zaifir quit (Remote host closed the connection) 2020-03-12T22:56:01Z TCZ quit (Quit: Leaving) 2020-03-12T23:04:58Z stultulo joined #scheme 2020-03-12T23:05:55Z f8l quit (Ping timeout: 260 seconds) 2020-03-12T23:05:55Z stultulo is now known as f8l 2020-03-12T23:06:33Z hidetora joined #scheme 2020-03-12T23:14:25Z Lysander__ joined #scheme 2020-03-12T23:15:48Z skapata joined #scheme 2020-03-12T23:17:15Z Lysandros quit (Ping timeout: 240 seconds) 2020-03-12T23:17:51Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-12T23:18:23Z madage quit (Ping timeout: 240 seconds) 2020-03-12T23:18:50Z Zenton quit (Ping timeout: 240 seconds) 2020-03-12T23:20:14Z hidetora quit (Quit: leaving) 2020-03-12T23:20:35Z f8l quit (Ping timeout: 265 seconds) 2020-03-12T23:22:18Z oldf8l joined #scheme 2020-03-12T23:23:30Z oldf8l is now known as f8l 2020-03-12T23:26:51Z zaifir joined #scheme 2020-03-12T23:29:21Z badkins_ quit (Remote host closed the connection) 2020-03-12T23:30:03Z badkins joined #scheme 2020-03-12T23:31:24Z f8l quit (Ping timeout: 256 seconds) 2020-03-12T23:32:04Z madage joined #scheme 2020-03-12T23:33:35Z stultulo joined #scheme 2020-03-12T23:34:38Z stultulo is now known as f8l 2020-03-12T23:35:22Z badkins quit (Ping timeout: 256 seconds) 2020-03-12T23:46:55Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-12T23:59:41Z Zenton joined #scheme 2020-03-13T00:02:19Z badkins joined #scheme 2020-03-13T00:06:59Z badkins quit (Ping timeout: 265 seconds) 2020-03-13T00:13:16Z zaifir quit (Ping timeout: 265 seconds) 2020-03-13T00:14:47Z zaifir joined #scheme 2020-03-13T00:21:34Z badkins joined #scheme 2020-03-13T00:29:21Z Lysandros joined #scheme 2020-03-13T00:30:02Z zaifir quit (Ping timeout: 240 seconds) 2020-03-13T00:31:14Z Lysander__ quit (Ping timeout: 240 seconds) 2020-03-13T00:32:11Z zaifir joined #scheme 2020-03-13T00:33:38Z rbarraud joined #scheme 2020-03-13T00:35:48Z klovett quit (Remote host closed the connection) 2020-03-13T00:38:04Z rbarraud: Hiya 2020-03-13T00:38:12Z rbarraud: Happy Friday :-) 2020-03-13T00:38:26Z Khisanth quit (Ping timeout: 240 seconds) 2020-03-13T00:38:39Z rbarraud: Oh Hai d4ryus 2020-03-13T00:40:54Z rbarraud: I'm very un-CEPL'd of late so haven't seen you for a while :-/ 2020-03-13T00:42:20Z lockywolf joined #scheme 2020-03-13T00:43:06Z lockywolf quit (Remote host closed the connection) 2020-03-13T00:43:35Z lockywolf joined #scheme 2020-03-13T00:45:26Z TCZ joined #scheme 2020-03-13T00:51:53Z Khisanth joined #scheme 2020-03-13T00:58:07Z lockywolf: jcowan, I'm just thinking whether it is enough to only support 7.1.2 in an IDE to claim a minimal scheme support (or should I say "minimal lisp support")? 2020-03-13T00:59:16Z lockywolf: the question is not actually theoretical, I'm just looking at the scheme parser in Emacs, and it's suboptimal (read, it crashes) 2020-03-13T01:01:29Z lockywolf_ joined #scheme 2020-03-13T01:02:56Z lockywolf_: I fiddled with the grammar to stop the parser from crashes, and I could do a little bit more (as encode the sub-section 7.1.1 and 7.1.2), but I am not willing to write and debug a grammar for the whole section 7.1 2020-03-13T01:04:30Z lockywolf quit (Ping timeout: 265 seconds) 2020-03-13T01:06:24Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-13T01:09:36Z klovett joined #scheme 2020-03-13T01:17:59Z faLUCE left #scheme 2020-03-13T02:03:16Z niklasl joined #scheme 2020-03-13T02:05:48Z badkins quit (Remote host closed the connection) 2020-03-13T02:06:23Z badkins joined #scheme 2020-03-13T02:11:25Z badkins quit (Ping timeout: 258 seconds) 2020-03-13T02:17:46Z badkins joined #scheme 2020-03-13T02:22:28Z seepel joined #scheme 2020-03-13T02:35:46Z brutalist joined #scheme 2020-03-13T02:45:55Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-13T02:47:01Z X-Scale` joined #scheme 2020-03-13T02:47:04Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-13T02:47:46Z X-Scale` is now known as X-Scale 2020-03-13T03:02:59Z brendyyn joined #scheme 2020-03-13T03:11:40Z lavaflow quit (Ping timeout: 255 seconds) 2020-03-13T03:12:17Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T03:16:21Z lavaflow joined #scheme 2020-03-13T03:16:42Z niklasl joined #scheme 2020-03-13T03:18:05Z badkins quit (Remote host closed the connection) 2020-03-13T03:30:32Z niklasl quit (Ping timeout: 256 seconds) 2020-03-13T03:33:45Z TCZ quit (Quit: Leaving) 2020-03-13T03:35:22Z niklasl joined #scheme 2020-03-13T03:39:45Z brutalist quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-13T03:51:30Z niklasl quit (Ping timeout: 256 seconds) 2020-03-13T04:03:23Z niklasl joined #scheme 2020-03-13T04:19:27Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T04:26:07Z lockywolf__ joined #scheme 2020-03-13T04:27:37Z lockywolf__ quit (Remote host closed the connection) 2020-03-13T04:28:05Z lockywolf__ joined #scheme 2020-03-13T04:28:26Z niklasl joined #scheme 2020-03-13T04:28:33Z gravicappa joined #scheme 2020-03-13T04:28:37Z lockywolf_ quit (Ping timeout: 255 seconds) 2020-03-13T04:29:06Z lockywolf__ quit (Remote host closed the connection) 2020-03-13T04:29:40Z lockywolf__ joined #scheme 2020-03-13T04:30:38Z lockywolf__ quit (Remote host closed the connection) 2020-03-13T04:31:51Z lockywolf joined #scheme 2020-03-13T04:33:06Z lockywolf quit (Remote host closed the connection) 2020-03-13T04:33:34Z lockywolf joined #scheme 2020-03-13T04:45:11Z klovett quit (Remote host closed the connection) 2020-03-13T04:46:13Z klovett joined #scheme 2020-03-13T04:48:45Z oxum quit (Remote host closed the connection) 2020-03-13T04:49:23Z jao quit (Ping timeout: 260 seconds) 2020-03-13T05:02:40Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T05:04:31Z oxum joined #scheme 2020-03-13T05:07:03Z niklasl joined #scheme 2020-03-13T05:18:36Z badkins joined #scheme 2020-03-13T05:21:47Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T05:23:05Z badkins quit (Ping timeout: 258 seconds) 2020-03-13T05:27:25Z niklasl joined #scheme 2020-03-13T05:34:09Z skapata quit (Remote host closed the connection) 2020-03-13T05:41:28Z d4ryus: rbarraud: yeah, same :( i really miss those streams, baggers and the gang 2020-03-13T05:51:04Z daviid quit (Ping timeout: 256 seconds) 2020-03-13T05:53:32Z seepel quit (Ping timeout: 265 seconds) 2020-03-13T05:57:58Z ggole joined #scheme 2020-03-13T05:59:30Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T06:01:18Z rbarraud: Is baggers__ still doing them? 2020-03-13T06:01:43Z rbarraud: I haven't looked for some while ... maybe a couple of weeks ago and there seemed to be a bit of a hiatus @ least 2020-03-13T06:03:30Z rbarraud: My absence is often correlated with my sleep hours being completely fu^^ messed up. 2020-03-13T06:03:31Z rbarraud: :-/ 2020-03-13T06:03:51Z rbarraud: If I make it it's because I manage to wake up in time... 2020-03-13T06:04:36Z rbarraud: Having the PSU control bits in my main b0(r)x didn't help... no longer woke to the gentle sound of fans starting, beep etc.... 2020-03-13T06:04:37Z rbarraud: :-/ 2020-03-13T06:04:56Z kritixilithos joined #scheme 2020-03-13T06:04:56Z rbarraud: I replaced it with an EVGA one, suspicion confirmed, it all works now :-) 2020-03-13T06:05:16Z terpri quit (Remote host closed the connection) 2020-03-13T06:05:24Z rbarraud: I want to snarf the backlog of CEPLcasts... 2020-03-13T06:05:56Z terpri joined #scheme 2020-03-13T06:05:57Z rbarraud: One Day at a Time is a pretty thin straw to suck mental bandwidth through... 2020-03-13T06:06:07Z rbarraud: Maybe with a Neuralink(TM)... 2020-03-13T06:06:09Z rbarraud: ;-) 2020-03-13T06:06:30Z rbarraud: 2020-03-13T06:06:40Z rbarraud: 2020-03-13T06:06:44Z niklasl joined #scheme 2020-03-13T06:06:48Z rbarraud: I can fly a helo... 2020-03-13T06:06:50Z rbarraud: ;-) 2020-03-13T06:07:07Z rbarraud: Trouble is, so can everyone else then. 2020-03-13T06:07:16Z rbarraud: Ergo, knowledge is worthless. 2020-03-13T06:07:55Z rbarraud: Ergo, It's economically sound to destroy a universal AI. 2020-03-13T06:08:08Z rbarraud: Ergo, Je Suis Luddite... 2020-03-13T06:08:08Z rbarraud: ? 2020-03-13T06:08:10Z rbarraud: :-/ 2020-03-13T06:08:32Z rbarraud: But here we are, grinding awy on making it... 2020-03-13T06:08:39Z rbarraud: Go figure. 2020-03-13T06:08:46Z terpri quit (Remote host closed the connection) 2020-03-13T06:09:23Z terpri joined #scheme 2020-03-13T06:10:09Z rbarraud: Perhaps our only hope is that in the Distant Future (The Year 20[012]0), it will read this log and realize we will work for it for nothing... 2020-03-13T06:10:16Z terpri quit (Remote host closed the connection) 2020-03-13T06:10:20Z rbarraud: Ergo, we save humanity from Insertion 2020-03-13T06:10:21Z rbarraud: :-) 2020-03-13T06:11:06Z rbarraud: [ Ergo: Not to be confused under any circumstances with Orgo. Or Fetumpch. 2020-03-13T06:11:17Z rbarraud: Especially Fetumpch. :-( ] 2020-03-13T06:11:42Z rbarraud: Ergo, it must be teatime, I'm freakin delirious with hunger :-// 2020-03-13T06:12:43Z rbarraud: Re CEPL-catching OTOH: This bedroom is so cluttered that I sleep out in the truck at present... 2020-03-13T06:12:45Z terpri joined #scheme 2020-03-13T06:12:56Z rbarraud: [practice for homelessness looming? :-/] 2020-03-13T06:13:16Z rbarraud: ...so I odn't hear the Dulcet Tones of fan noise+beeps :-/ 2020-03-13T06:14:22Z terpri quit (Read error: Connection reset by peer) 2020-03-13T06:14:40Z terpri joined #scheme 2020-03-13T06:14:55Z oxum quit (Remote host closed the connection) 2020-03-13T06:15:46Z terpri quit (Remote host closed the connection) 2020-03-13T06:16:47Z terpri joined #scheme 2020-03-13T06:18:11Z terpri quit (Remote host closed the connection) 2020-03-13T06:18:39Z terpri joined #scheme 2020-03-13T06:20:26Z niklasl quit (Ping timeout: 240 seconds) 2020-03-13T06:34:28Z oxum joined #scheme 2020-03-13T06:35:46Z niklasl joined #scheme 2020-03-13T06:45:46Z terpri quit (Remote host closed the connection) 2020-03-13T06:46:19Z terpri joined #scheme 2020-03-13T06:48:43Z terpri quit (Read error: Connection reset by peer) 2020-03-13T06:49:00Z terpri joined #scheme 2020-03-13T06:50:35Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T06:51:16Z terpri quit (Remote host closed the connection) 2020-03-13T06:54:03Z oxum_ joined #scheme 2020-03-13T06:54:15Z terpri joined #scheme 2020-03-13T06:56:46Z rgherdt joined #scheme 2020-03-13T06:58:01Z oxum quit (Ping timeout: 255 seconds) 2020-03-13T06:58:46Z terpri quit (Remote host closed the connection) 2020-03-13T06:59:28Z terpri joined #scheme 2020-03-13T06:59:39Z oxum_ quit (Read error: No route to host) 2020-03-13T07:00:57Z terpri quit (Remote host closed the connection) 2020-03-13T07:01:15Z terpri joined #scheme 2020-03-13T07:03:27Z oxum joined #scheme 2020-03-13T07:06:26Z wasamasa: lockywolf: what do you mean, it crashes 2020-03-13T07:07:22Z niklasl joined #scheme 2020-03-13T07:07:46Z terpri quit (Ping timeout: 240 seconds) 2020-03-13T07:12:08Z lockywolf: wasamasa, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40034 2020-03-13T07:12:24Z wasamasa: that's not a crash, that's an error 2020-03-13T07:12:41Z lockywolf: ¯\_(ツ)_/¯ 2020-03-13T07:12:43Z wasamasa: the reason this distinction is important is because crashes are considered emacs bugs worth fixing in any case 2020-03-13T07:13:02Z lockywolf: it's a bug 2020-03-13T07:13:02Z wasamasa: and lol, using semantic 2020-03-13T07:13:08Z lockywolf: ¯\_(ツ)_/¯ Emoji 2020-03-13T07:13:20Z wasamasa: yes, but is it a bug that keeps a user from improving their uptime 2020-03-13T07:14:13Z lockywolf: function overlay in emacs is a nice feature 2020-03-13T07:14:32Z lockywolf: if a one-line patch improves user experience in this aspect, I don't see why not 2020-03-13T07:15:04Z wasamasa: do you have copyright assignment? 2020-03-13T07:15:20Z lockywolf: no, but I heard they are not required for one-line fixes 2020-03-13T07:15:31Z lockywolf: I can send one to fsf if needed 2020-03-13T07:15:39Z wasamasa: well, I expect you to find way more bugs, you might be the very first user of semantic's scheme support :D 2020-03-13T07:17:08Z wasamasa: if people use it, it's for C and friends 2020-03-13T07:19:17Z lockywolf: I expect C support to be much harder to implement 2020-03-13T07:21:31Z niklasl quit (Ping timeout: 260 seconds) 2020-03-13T07:22:11Z lockywolf: I'm not sure a parser should even call (debug) if it finds that the file doesn't match the grammar. 2020-03-13T07:24:21Z lockywolf: Anyway, I am almost done with SICP, and my next book in the reading stack was the dragon book, so I might as well do some exercises using semantic 2020-03-13T07:24:39Z lockywolf: if I find it unusable, I'll switch to something else 2020-03-13T07:26:00Z wasamasa: I have my doubts it enters debug mode either 2020-03-13T07:26:13Z wasamasa: if you've done M-x toggle-debug-on-error before, sure, then it works as designed 2020-03-13T07:26:21Z wasamasa: an error is promoted into a debug call 2020-03-13T07:26:31Z lockywolf: no, it's a literal debug call 2020-03-13T07:27:17Z oxum quit (Remote host closed the connection) 2020-03-13T07:27:17Z rgherdt quit (Ping timeout: 258 seconds) 2020-03-13T07:27:19Z wasamasa: where? 2020-03-13T07:27:53Z oxum joined #scheme 2020-03-13T07:28:41Z wasamasa: if that were actually the case, I'd conclude semantic unusable indeed 2020-03-13T07:28:50Z lockywolf: lisp/cedet/semantic/tag.el:1244: (debug tag) 2020-03-13T07:28:52Z wasamasa: because that's a sign that it's nowhere near done 2020-03-13T07:29:47Z lockywolf: just as a half of the free software is 2020-03-13T07:32:29Z wasamasa: ouch, right in the grammar handling code 2020-03-13T07:32:42Z wasamasa: it's a mystery how this got merged into emacs proper 2020-03-13T07:33:27Z lockywolf: I think it's an urge for people like me to improve grammars 2020-03-13T07:33:36Z lockywolf: "a nudge" 2020-03-13T07:33:53Z wasamasa: sure, feel free 2020-03-13T07:34:20Z wasamasa: I suspect your efforts would be better spent on using existing scheme parsers 2020-03-13T07:34:50Z lockywolf: are there? 2020-03-13T07:34:50Z wasamasa: and that scheme itself is rarely parsed with anything more powerful than a hand-written recursive-descent parser 2020-03-13T07:34:57Z wasamasa: they do exist, yes 2020-03-13T07:35:28Z wasamasa: but that's just a suspicion, I haven't looked beyond my preferred implementation yet 2020-03-13T07:36:24Z niklasl joined #scheme 2020-03-13T07:37:40Z lockywolf: if they are implementation-specific, they'd be better off writing LSP servers for themselves 2020-03-13T07:37:55Z lockywolf: sorry, parsers can't write servers 2020-03-13T07:38:12Z lockywolf: I mean, implementation could provide LSP servers from within. 2020-03-13T07:38:37Z lockywolf: the point of semantic is that it is implementation-independent 2020-03-13T07:38:58Z wasamasa: I mean parsers in general, not the kind geared towards IDE-style quality of life improvements 2020-03-13T07:39:13Z wasamasa: they can be implemented in portable scheme just fine 2020-03-13T07:40:24Z lockywolf: I'll see it when I get to it 2020-03-13T07:46:13Z lockywolf: so far even SICP can't be implemented in portable scheme 2020-03-13T07:47:17Z wasamasa: some exercises like timing the execution of code or drawing to the screen, sure 2020-03-13T07:48:26Z lockywolf: also mutices 2020-03-13T07:49:16Z lockywolf: or should I say "mutexes" 2020-03-13T07:49:25Z lockywolf: :) 2020-03-13T07:50:35Z lockywolf: or "mutexen"? 2020-03-13T07:51:01Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T07:51:09Z brendyyn quit (Read error: Connection reset by peer) 2020-03-13T07:51:44Z rbarraud: ...mutezae, mutexorum... 2020-03-13T07:51:47Z rbarraud: Auuught 2020-03-13T07:51:58Z rbarraud: s/t// 2020-03-13T07:52:06Z rbarraud: :-/ 2020-03-13T07:52:35Z rbarraud: So what is this Semantic of which you speak? 2020-03-13T07:52:44Z wasamasa: an infamous emacs package 2020-03-13T07:52:45Z lockywolf: it's a parser engine for Emacs 2020-03-13T07:52:58Z wasamasa: part of CEDET 2020-03-13T07:53:06Z lockywolf: written in pure Emacs Lisp, and a little bit under-debugged 2020-03-13T07:53:06Z rbarraud: hmm 2020-03-13T07:53:17Z wasamasa: CEDET is a running gag on #emacs 2020-03-13T07:53:30Z rbarraud: 'little bit' == YMMV from the looks :-) 2020-03-13T07:54:04Z lockywolf: if people contributed to it as much as they complain, life would be better 2020-03-13T07:54:17Z wasamasa: the running gag is that nobody's using it, so nobody can help you 2020-03-13T07:54:22Z rbarraud: That's a General Principle :-) 2020-03-13T07:54:56Z wasamasa: only the truly fearless use it, but they're fearful of helping others on #emacs 2020-03-13T07:55:53Z rbarraud: Oweee 2020-03-13T07:56:23Z rbarraud: perhaps Ishouldn't have ordered my Gong Bao Ji Din 'hot' from an actual Sichuan restaurant :-/ 2020-03-13T07:56:29Z rbarraud: I shoulda known better. 2020-03-13T07:56:38Z lockywolf: everybody is using Microsoft 2020-03-13T07:56:44Z niklasl joined #scheme 2020-03-13T07:56:55Z rbarraud: Back to UberEats for 6 Mango Lassi, Stat!!11! 2020-03-13T07:56:56Z lockywolf: so I am hopeless any way 2020-03-13T07:57:21Z rbarraud: Poor fools... 2020-03-13T07:57:51Z rbarraud: Who was it gave the sage advice to always do the opposite of what the crowd is doing? 2020-03-13T07:57:59Z lockywolf: it's Ji Ding, not Ji Din 2020-03-13T07:58:11Z f8l quit (Remote host closed the connection) 2020-03-13T07:58:18Z rbarraud: Yes it is 2020-03-13T07:58:25Z rbarraud: I reprimand my fingers... 2020-03-13T07:58:28Z rbarraud: :-) 2020-03-13T07:58:49Z rbarraud: 50 typo-cathing pts 4 U!! 2020-03-13T07:59:31Z lockywolf: You see, I'm already helping you. Not that fearful. 2020-03-13T07:59:32Z f8l joined #scheme 2020-03-13T08:01:56Z luni joined #scheme 2020-03-13T08:02:53Z rbarraud: 宫保鸡丁 2020-03-13T08:02:55Z rbarraud: 0mn0mn0m 2020-03-13T08:03:09Z lockywolf: 你说的对 2020-03-13T08:03:57Z rbarraud: I usually am ;-) 2020-03-13T08:04:51Z rbarraud: 我通常是对的 2020-03-13T08:04:54Z rbarraud: :-) 2020-03-13T08:05:30Z lockywolf: I'm actually pretty surprised that IRC doesn't freak out from anything beyond 7-bit 2020-03-13T08:05:46Z rbarraud: Strategy: Keep Calm, Carry On, Avoid most of the Chili husks :-) 2020-03-13T08:05:56Z rbarraud: UTF-8 presumably now? 2020-03-13T08:06:10Z rbarraud: There's probably an RFC for that somewhere. 2020-03-13T08:06:28Z lockywolf: ERC in Emacs doesn't support it properly 2020-03-13T08:06:45Z lockywolf: I have a patch for it, but didn't get to review it, as it's not written by me 2020-03-13T08:11:22Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T08:16:36Z rbarraud: I use RCIRC in Emacs (in it now) 2020-03-13T08:17:07Z niklasl joined #scheme 2020-03-13T08:17:08Z rbarraud: I'm probablky waaay behind the curve though :-) 2020-03-13T08:17:22Z rbarraud: Hmmm 2020-03-13T08:17:48Z rbarraud: Author traceable? 2020-03-13T08:18:02Z rbarraud: PAtch puplically available? 2020-03-13T08:18:16Z rbarraud: s/A/a/ 2020-03-13T08:18:36Z lockywolf: yes and no 2020-03-13T08:19:02Z rbarraud: Presumably the actual backbone transport doesn't care as long as it's escaped as printable chars somehow 2020-03-13T08:20:03Z rbarraud: Well I guess there has to be at least one escape char defined - but IIRC (see wot I did ... nevermind :-/) they chose one that already pretty much got ignored 2020-03-13T08:20:03Z xelxebar_ quit (Ping timeout: 240 seconds) 2020-03-13T08:20:12Z rbarraud: DC2 or something? 2020-03-13T08:20:15Z civodul joined #scheme 2020-03-13T08:20:18Z rbarraud: in ASCII 2020-03-13T08:20:27Z lockywolf: https://github.com/lockywolf/emacs.d/blob/master/rc.d/rc-erc.el 2020-03-13T08:22:20Z lockywolf: I erred. Yes and yes 2020-03-13T08:23:37Z rbarraud: Hmm ⌫ 2020-03-13T08:25:00Z rbarraud: Well that's interesting ... now RCIRC /Emacs renders a BS key hit as ⌫ 2020-03-13T08:25:03Z rbarraud: :-) 2020-03-13T08:25:04Z rbarraud: LOL 2020-03-13T08:25:23Z rbarraud: Maybe the escaping isn't too well sorted...? :-) 2020-03-13T08:25:26Z lockywolf: that's according to the standard, isn't it? 2020-03-13T08:25:39Z lockywolf: ow, the _actual hit_ 2020-03-13T08:25:56Z rbarraud: I would have thought it'd be done line-by-line... 2020-03-13T08:26:12Z rbarraud: Looks like those .cn char strings 'triggered' it :-) 2020-03-13T08:26:36Z lockywolf: 好玩吧 2020-03-13T08:26:49Z rbarraud: Yup - as in BS'ing over extraneous chars at end of line produced it :-) 2020-03-13T08:27:07Z rbarraud: Adddn now it doesn't :-) 2020-03-13T08:27:13Z rbarraud: aaannnd* 2020-03-13T08:27:40Z rbarraud: Something Stateful Yonder Lurks! 2020-03-13T08:28:18Z rbarraud: Yep defp fun :-) 2020-03-13T08:29:12Z rbarraud: I may have hit with BS... 2020-03-13T08:29:16Z rbarraud: nope not that 2020-03-13T08:29:30Z lockywolf: 登̷̡̢̡̢̨̡̢̨̧̢̢̢̧̛̗̥͙̗̯̜͚͓̭̬͖̣͉͇͎̪̲̘̟̖͍͕̤̗̝̖̫͙̝̣̤͖̝̠͔͉̩̙̳͈̙̮͔̣̜̖͚̯̙̭̟̖̰̳̦̺̣̰͖̪̹͖̥̝̝̟̮̗̠̥̦͎͙͍͇͉͂̐͑͑̎̃̿͋͗́̾͑̄́̋͛̆̀̄́̂͛͊̈́̅̉͐̿̾̌͋̂͋̓͛̍̓̽́̾̓̄̓͊͗̐͐̃̍̀̈́͘̕̕̕̚̚̚̕͜͝͠͝录̵̉̌̌̄͂̉̄̍͌̐̈́̔̌̏̓̅͂̇̂̀́͛̏̐̈́͐̏͒̂̐̔̒̆͂͂̍͆͆́͐͛̈́̉̿͒̊͗̈́͊͛̐̂͐̈́̎̚͘̚̕̚̚͝͝͝͠͝͝ 2020-03-13T08:29:30Z lockywolf: ̢̡̢̢̧̡̧̡̡̢̨̢̛̛̛̖̜̻̖̠̫̜̞̯̩͚͚̯̬̫̞̟̠̬̠͙̩̦̠̯̟̜͇͔̰͚̖͇̙̺̤͓̰̞͖͓͉̹̯̠̩̩̜͔̲̫͈̬̣͙̤̳̳̜̯͚̣̮̠̹̬͕̣͙̘̰̳̫͇͖͚̩̝̙͖͖͕͍̜̬̫͍͖̤̦̰̲̬̮̠͖̥͕͔̳͙͕̭̦͎̫͚͇͓̦̱̯̲͔̓̋͛͒̆̄̎̽́̈́̎͐̈́̆̂̈́̈́̐̆̎͂͐͒̍̆͛͋̇́͐͛̒̏̈́̂̐͂̈̈́̅̓̎̾͑͂̈́̂̃̊̎̀̽̽͐̉̊̂̈́̀̑̾͐͋̉̓͋̐̊̊̈̀̽͑̋̕̚̚̕͘̕͘͜͜͜͜͜͠͝͝͝͝͝͝͝ͅͅ ̶ 2020-03-13T08:29:31Z lockywolf: ̧̡̨̡̨̢̢̡̘̮̝͉͓̯͙͇̱̭͎͓̠̱̞̰͔̲̥̦͓̪͖͉̖̖͖̘͉͔͉̻̠̹͎̬͇͕̙̖͙̳͎̙̱͖̱͓͆̀̓̈́̄͗͐̓̍̑͌̓̍͒̅͑̅̌̓̔̌̿̊̋̍̄͋͛̽́͛͑̿̾̈́̒͂̌̄̕̕̚͜͠ͅͅ注̵̛̛̛̛̀̌̈̊̂̾̃͐͊͋̔̃̌̅̒͗̉͛͛̃̐͋̿͊͌͌͛̄͆̈̈͊̾̑͋̉̎̒͌̏̏͛̏̒͗̏̀͊̇̇̉̓̅͛̆́́̂́͂̄͑͐̈́̏̍́̽̊̊̈͋͂͑̀̈́̍͋͊̉̇̍̎̔̔̽͋̅͑̂͆̀̎̅̾̂́́̾̌̀̒̇̈́̽̒̚̚͘̕̕͝͝͝͠͠͠ 2020-03-13T08:29:31Z rbarraud: Weird. 2020-03-13T08:29:36Z lockywolf: ̡̧̡̢̧̡̡̨̢̨̨̨̡̢̨̨̧̢̢͔̗̫̘̞͓̫͎͇̗̪͓̗̦̪̯̳̣̜͕̫̲̗̮͖͓̭̩͔̯͈̤̫͇̯̲̟̜͖̮̥͖͎͔̠͔̫̼̬̻̫̘̘̖͚̩͕̟̹͔̹̩̝̩̳͎̙̳͍̟̗̗̗̘̥͍̦̦̺̩͙̥̼̞̱̬̳͖̼̗͙̪͇̟̝̞̖͖̤̮̥̖͇̻̦̼̮̮̈̂̈̅͆̃̒̔̕͜͝ͅͅ册̵̛̂̄̍̎̾̀͗̑̌̈̈̀͐̈̄̂̑̎͊͒͊͑̓̋͗̓̐́͑͒̈́̒̈́͊̓̉͊̀́̉̾̓̒̽̀̎͐̽͑͒͊̌̀̀̌̒̃̈̋̿͋͐͑̂̌̓̓̑͛́͊̋͌̚̕͘̕̚̚͠͝͝͠ 2020-03-13T08:29:45Z lockywolf: ̢̢̡̨̧̢̢̡̡̨̧̢̧͚̹͓̹̗͎̱͚͇̙̼̟͙͍͇̠̮̼͙̫̙̦̖̻̞̪͓̼̳͇̜̭͙͕̹͎̣̳̠͕̘̪̪̫͔͉͓̬̻̲͈̪̩̻̘̰̗̖̞̣̙̭̜̱̠̯̥͔̤̗̟̯̜̪̻̜͉̩͇͔͔̪͓̳̱͙͇͕͕̼̖̺̜̺̣̳̼̰͍̮̟̪͍̹͓̙͖̜̘̳͒̓͊͒́͌̾̄͊̔͋̐̋̿͐̅́̇͆̆̿̅͛̋̑̉̿͆̌̑͂̎̑̉͆̑̅̿̚̕̕̚̕̚͜͜͜͜͜͝ͅͅͅͅ 2020-03-13T08:29:50Z lockywolf: ̵̨̢̧̧̢̨̢̨̨̛̛̛̛̘͉͕̥͙̖̭̙̺̖̘̥̥͇̟͉̰̦̪͖͕̳̠͙͈̺̖͔̗̹͙̳͕͇̪̜͓̝̟̯̺̼͍̞̼̪͔͚͈̹̪̤̩̻̱̹̣̠̖͈͔̻̫͍̜̯̬̣͔͙̟̪̟͓̹̤̳̞͍͚̱̰̣͙̤̤͉͎͖̱͈̳͖͉̣̲͙̪̬̟̯̞̺͓̦͎͖̪̙̹̉̀͊́̆̀͌͐̓̒͊̇̿̌̓͛̉̀͗̌́̊̿͐̓͊͌͌͊͑͋̋̓͛͋̊̿̏̄̋̀́̑̈́͒̓̆͋̂̒̉͌́̆̈̇̍̈́́́̀͊̊̐̀̊̍̈̓̓̓̊̋̓͋̾̾̈́̊̇̕͘͘͘̚̕̚̚̚͜͝͝͝͝͝͝͝͠ͅͅͅͅͅ 2020-03-13T08:29:57Z lockywolf: ̨̧̢̢͎͕̳̜̞͔͎̩̰̟̘̥͍͖̼̖̩̠̳̻̦͓̠̟͈͚͖̘͇̖入̵̡̢̧̧̢̢̨̢̧̨̧̙͈̫̤̩͎͖̖͎͇̹̫̻̝̜͍̦͖͔̳̯̗͍͙̲̗͈̖̳̤̰̲͇̘̗͇̜̯̺̤̲̬̫̲̭̦̪̪͍̲͖̯̲̳͓͓̭̼̯͔̭͎̠̻̮̯̞͎͓͎̖̜͕͍͕͚̦͎̯̖̝͍̙͙̝͚̲͑̿̑̈́̓̌͗̀̋̈́̽́̋̄̈́̏̍̑̔̂̉͆̌̎̍̓̈́̏̈́̀̀͌̍̉̆̏͂̔̃͑̈́͑͊̉̈̍̒͛̂̇̈̎͋̈́͆̓̀̅͐͒͛͊̎̓̆̊͘̕̕͘͜͝͠͠͝ͅͅ门̵͆̿̾̓̈̈́͑̀̇̈̿͝ 2020-03-13T08:30:02Z lockywolf: ̡̨̧̡̨̧̧̢̨̡̧̡̢̛̛̛̺͙̥͎̣̳̲̮͉̙̱̟̺̪͙̺̗͈̼̼͖̣̘͇̩̘͖̟̭͉̲̗̬̜͉̻̞̩̟̩̺͍̙̟̣̹̭͖͔̼̩̱̙͔̲̞̘̱̯͖̱̺͕̩͉̤̪̪͉̖̤͕͕̜̠̤̤̩̜̗̹̰̫̝̤̬̥̜̜̞̟̲̦̘̻̮͈͍̯͙̦̹̪̤͚̤̬͍̝̲̠̑̍̈́̀̅͂͗̾̔̉̈̽̀͛̓̾̈́̐̀̑̍̑͊̄̆̇̐̂̐̾͐̓̋͊͑̓̅͑̐͋̀̉̉̈̃̿̾̈́̀͋̂̉͛̅̀̑̌̅̆̃̋͐͂̀͂̊̓͗͗͋̉̿̐͊͋̃̃̆̂͛̀͛̆̕̚̚̕̕̕̕̚͜͜͜͠͝͝͠͝ͅ 2020-03-13T08:30:11Z lockywolf: ̧̱̤̘͕͉̼͖̯͓̠̞̗͔̦̲̣̲̬̫.̸̛̛̛̛̛̭̹̤̦̣̯̯̇̐̋̾̔̄̎͌͑̆̽̐͒̆̂̈́͐̎̈́͒͗͆͒̈͌͛͂͊̍̾̄͑͐̆́͗̐̐͆̀̀͒̂̀̉̔̏̋̈̅̈́̊́͊́͆̓̑͐̈̑͛́̽̓̀̇̂̑̾̈́̈́͛͆͗́̅́͒̾͂̇͆͛̏̍̈̓̇̇͗̊͌̅̃̈̓́͐͗̔͑̔́̒͗̓͌̔̈͊̾̌̉̒̈́́̇̃̽̓̋̚͘͘̚̕̕͘͘̕͝͝͝͠͝͠͝͝͝名̴͐̆́̂̈̅̋̈̑̑̉̒͗̉́̍̈́͆̃̉͑̇̋͛̑̾̑̎̅̒̋̈́̓͐͌̓̇̓̐́͗̿̌̀͘͘͝͠͝ 2020-03-13T08:30:16Z lockywolf: ̡̢̨̧̢̧̨̨̛̲͈͓̦̥͍̺͖̞̩̤̱͇͎̮͖͎̹̮̬͙̖̜̣̭̝͙̣̜̺̠̱̼̮̠̹̙͔̩̗̼͙̖̳̪͚̹̼͓͍͉͍̻̗̘̟̥̖͙̏͗̍̎̓̈́̀̿̇͊̽̀̚͘̕͜͜͠人̸̧̧̨̡̡̺̤̗̖̮̺̘͕̥͚͈̯̯̘̯̥̙̺̘̫͇̥͚͚̳͔̟̘͎̟̞͙̦͖̝̙̖̤͍̹̲̞̼̦̥̜̺͓̣̞̳͈̦̙̦̗̖̟̫͖͖̼͚̺̖̰̝̘͚͙̮̫̳̼̼͈̗͚̫̤̳͈͖̈̀͘͜͠ͅ.̶̛̛͒̇̋͆̂͆͛͋́̀͊͛̈́̈́̋̿̌̄̽̋̃́̒̽̋̔̍̐̾̄̒́̋̋̏̉̕̕͠͝͠ 2020-03-13T08:30:23Z lockywolf: ̡̨̨̡̧̧̢̡̧̧̧̧̢̢̛̙̫͉͈̥̟̲̝̟̻͇̝̖͙̱̮̼͓̮͚̹̙̻̻̜̜͔̟̰̲̼̻̩͕̘̺̜̠̻̠̼̣̰̲͓͔̫̳͓͈͍̬̯̗̻͓̥̦͈͍͚̭͙̞̜̻̳̞͚̘͚͈̖̙͚̹̖͉͈͚̬͚̳̩͕͔̺̗̥̯̪̞̥̜͔̭̪̜̫͓͓̗̱͔̙̪̱̻̀͆̽́͆̍̓̏̏̈̉̿̄̃̄̂͌̎͌́͗͆̑̏̓̆͐͛̎̈́̊̃̐͐̓̊͌̇̂̈͗͛͛͊̔̋͂́̓͗́̀̾̚̚̚͜͜͜͜͜͠͝͝ͅͅ导̴̂͋́̉́̇̄̽̋̿̾̇͛͆̔̿͑̋̑̇̉͊̏̀̋͋͛̍͑͆͘͘͠͝͠ 2020-03-13T08:30:24Z rbarraud: Sweet Mother of Whatever-her-kids-are this is HOT!!11 2020-03-13T08:30:28Z lockywolf: ̢̨̢̡̨̡̢̨̢̨̢̧̢̛̛̼̩͔͙̟̘̙̹͙̥̤̫̰̗̫̭͉̘̠̘̝̤̬̝̹̲͔̠̩̱͉̘̪̦̝͓͉͍̫̼͕̠͍̪̮̦̰͎͓̳̯̗͇̬͓͍̻̘̟͖̖͓̟̜̱̦̯̲̪͎̱̜͓̖̘̫̹̙͍̬͓͕̤̼̝̜̜̜͖̯̹̗̮͕͕͓̦̼̬̻̭͔͔̪̞͇̳͍͎̹̪̘̮̮͕̰̤̹͔͔̜̮̪͔̠͉̘͔̖͎̼̫̹̤͖̪̹͎̟͇̣̦̈̍͊̇́̋̽̆̈́̿̅̈́͛̏̈́̔̏̆́̏͌̌̆͊̈́̉͌̾̔̉̏̈́̍̎̿̊͛̉̓́̔͒͐͐̈́̈́̔͛̀͒̔̑̚̚̕͜͜͜͜͜͜͝͠͠ͅͅͅ航̴ 2020-03-13T08:30:33Z lockywolf: ̨̡̨̢̨̡̧̧̢̢̢̨̡̨̤͔̭͈͇͇̱̲͕͎̫̭̞͈̪͇̯̭͍̠̺̪͔̝̱̥̣̳̲͍͎͎̼̹̭̻̝̘̰͙̜̞̘͚̰̪̤͎̹̦͕̼̥̣̼̜̣̤͍̜̖̗̠͙̮̯̲̟͕̳̯̯͓̫̭̬͕͎̳͕̘̠͓̱̳͙̜͉̟̥͎̻̳̺͙̤̫̩̹͓̫͚̲͖͍͚̥͈̹̖̠̞̹̘̠̠̝̈́̋̎̉̃̿̑̀̀̈́̈̈̀̌̑̄̏͑̈̓̀̽̂̀̇̆͌̀̈́̂͛͋̊̿͛̀̾̉̅͋͒̀̔͆̎͘̚̚͜͠͝͠ͅͅ.̶̧̧̼̻̼͕̪̺̮̰͍͎̠̣̩̻̬̟͎͍̬͚̙̦̩̣̖͖͇̩͈̣̗̲̾̌́̓͛͘ 2020-03-13T08:30:34Z rbarraud: Decent buzz going from it though :-) 2020-03-13T08:30:42Z lockywolf: ̡̧̡̻̱̻̯̟̯͚̞͖͙͉̫͕̣̥̙̩͈͓͖͖̠̲̝͈̘͉͙̻̘̩̼̫̰̺̻͚̫̫̞͔̥̻̗͙̮̠̰̥̺̠͉̠̱̘ͅͅ会̷̛̛̛̾̓̃̄̇͊̎̈́̈́̀̽̔̓̀̋͐̌̄̾̈̄͊́̓̈̄͆̍͐̎͛̌͑́̆́̍̎̽́̀͒͒̊͗̍̀̏̈̉̍̂̓̅͐̂̊̎͒̓͋͊̈́̓̎͆̔͒̀̂̔͆̏̒̄̍̈̀͑͑͋͑̅̈́̈́͑̿͐͂͌͂̀̽̋͐̄͌̑͌͆̃̾͋̆̈͒̍̈́̈́̆͑̂̆̿͆́̌̀̒͌̄̉̀̈́̂̅̄̈́̏͑̃̄̂͊͛̀̓̋̃͐͛͋̀͊̐̕͘̕̚̕̚̕̕͘͝͠͝͝͝͝ 2020-03-13T08:30:47Z lockywolf: ̢̨̢̨̡̨̢̢̨̧̥͍̥̲͈̮̰̠̺̙̤͚̱̤̦̤̣̰̭̬͔̞͔̘̘͇̤̤̮̭̩̣͓̠̥͖̬̠̺̝̟̗̹͙͉̼͇͈̤͕̣̥̭̺̼̪̩̞͖̺̺̤̫̺̠̖͕̙͎̥̗̩̇̾͜͜͜͜͜͜ͅͅͅ员̵̧̧̧̡̨̡̨͉͙̳͓̻̳̥̝̲̟̜͙̲͙͕̖͍̮̗͈͖̳͇̞̟͎͎̯̙̱̙̼̠͍̤̱͖̹̟͖̦̝̳̼̞̘̩͙̭̟͍͖͇͓̥̮̦̙̩̤̝̙̓̒͆́̓̉́̄̀̈́͐͒̌͊͒̓́̒͐̈́̇̅̌̉̐͒͊̋͋̅̔̓̈͌̏̃̉́̂̈́̽̾̊̃̋̀̿͂͗̋̄̕͘̕͘̚̕͜͝͝͝ͅ 2020-03-13T08:30:52Z niklasl quit (Ping timeout: 256 seconds) 2020-03-13T08:30:54Z lockywolf: ̠̬̗͍̼͇̭̲̲̙̤͈̹.̶̨̧̧̣̲̯̪̼̪͖͙̖͍̖̤̯̜̺̼͓̺̝͚̦̭̯̟̻͔̲̮̼̗̦̤̪̥̦̻͍̰̣̭͔̦̥̪̺̦̭̪͆̓͂̉̓̊͋͋͂̄̀̑̄͊͊͛̀̄̄̇̿̆͗̈̉̎̒͗͒̿̍͋̆̐̈́̓͂͂̈͗̉͑͌̏̓̓̾̑̂́͌̊̈́̏͑̉̅̍͌͆̔̎̂̀́̂̏́̈́͛̑́͌͐͆̎̿̊̅̄͊͊̀́̀̈̾̌̿̒̍͑͆̀̓͌͗̈́͑͆̓̍́̕̕̚̕͘̚̚̚̚͝͝͝͝͝͠客̸̛͋̈́̈̔̃͒̍̓̎̇͛̈́́̇͑̂̃͂̓͂͂̀̏̊̅̋̾͌̏̈́̄̽̆͌̍̾͛͋̕͝ 2020-03-13T08:30:59Z lockywolf: ̢̢̡̡̧̨̛̻͇̯̹̜̗̠̮̱̲̗̹̜̝̝̜̹̹̳̳̳͎̞̺͍̳̟͎̞̞̠͉̯͙̪̙̥̼̮͔̭̤͎͎̳̙̻̟͉̮̭͓͔̣̯̲̪͓̤̘͓̦̠̬̳̜̬̗͚͈̩̬̘̮̩͇̥͍̯̫͉̖̇́͊̌͗̑͌̏̓̍̚͜͜ͅͅͅͅͅ户̴̢̨̢̧͇̱̫̙͖͉̮̹̲͈͈͕͉̳̳̳͇̣͇͈̘̻͙͙̼̞̗̯͍͉̝̤̩͉͍̲̦̭̜͔̳̘̻̬̃̀̅̆͐̇̉́̐̀̈́̔̌̑̑̌͗̄̆́͐̎͂̂̃̋́̍̽͘̕̚̕̕͜͠͝͝͠͠ͅͅ端̸̛̍̆͗̉̄̇̋̽́͛̇͒̈͊̔͑̅̈́͒͑͠͝͝ 2020-03-13T08:31:04Z lockywolf: ̧̢̧̢̨̨̢̡̢̛̛̛̛͈̤͚̣̼̺̙̣̪̳̩͎̳͚̲̺͓͈͓̟̦̺̳̻̼̠̥̳̗̳̠͓͓͙̳͔̗͖̩͕̣͉͈̳̮̹͇̱̦̥̣̯̯̣͇̲͔͎͙̪͓̱̖͙͇̮̠̙͖͗̍̅̈́̓̓̔́́̑̐̆̎̾̇̅͌͆͆́̽̉̅̆̓̅͛͛̊͆͒͒̉̽͗͌̐͑̎̅̆͊͊̐̌͌̆̇̓̀̆̍̅̂͒̋̒͊̒͑̀͛̔̉̏̓̀͌̒͋̍̉̅̈́̍̂̇͑̑͋̔̀͋͛̾̈́̂͂̾̎̒͘̚̕̚̚̕͘͜͜͝͠͝͝͝ͅͅ 2020-03-13T08:31:13Z lockywolf: ̸̟̞̹̭̼̖̺̅̾̈̃̉̈̐̆͝名̸̨̢̛̛̬͉͕͎̙̳̝͈̭̲̥̱̣̗̬̭͙̖͚̘͙̥͓̟̹̤̠͉̩͕̰̲̯͙̫̺͈̻͇̖͖͇̾̔̿̉̈̃̂̋̾̆̄̓̍͑̍́͌̓̾̀̌́̀̅́̀͗̆̽̊̈́͊̈́͊͛͗̓͂̀̀̑͗̉͛̋̆́̀͊̇̃͐̐͐̔̽͒̏̾̍̅̏͊̂̽͌̑̂́̉̅͂̂̈͑̽̆̍̉͑̓͐̅͋̈̉͒͆̍̂̒̍͒̈͐̈́̀̄͛́̀̅̃̔̉̓̓͐̉̉̋͊̎̾̄̑̍̇̓̀̾̍̿͐̾̔̆́̍͒̇͗͊̆̔͑̎͆̿͗̎̾͘͘̕̚͘̕͘͘͜͝͠͠͠͝͠͠͝͝ͅ 2020-03-13T08:31:14Z rbarraud: Well those are disrupting the length of the pane :-) 2020-03-13T08:31:18Z lockywolf: ̤̥̜̝͇̦̬̥̟͉̤̘̥͓̳̹͇̠̫̱̝̬̰̮̲̜̩̤̻̦͜人̶̛̹̑̃̐̔̈̅́̏͒̈́̏͒̋͒̉̈͑̊͒̌͌̓̒̑̈́̏̔͘͝͠排̴̢̛̛̛͈͕̳̮̈́̌̀̎̏̿̋́͗͊̈́̊͛̊̀͑̈́̑̃̎́̌̋̄́̍̽̉́̑̈́͒̑̐͑̒͋͐̈̍̒͆͊̈́͑͘̚̚͘̕͠͝行̵̛̝̤̜͒͛̒́̓͂̈̋͒̎͆͛͂̐̀̊͑̈̂́̐̓͒̃͛̔̍̃́̎̌͌̿́̔̇̍̂̐̾̋̋͐̀̍̽̆͆̾́̈́̌̀̔̈́̈̋̍̿̅̅̏̃̆̀͛̽́͐̐̈̒̇͋̇͗̈́̏̅̏̚̚͘̕̚͝͝͝͝͝͝͝ 2020-03-13T08:31:25Z lockywolf: ̧̧̡̢̧̡̢̡̧̡̮̠̜̼̼̜̻͕̩͖̬̻̪̣̠͉̤̖̱͖̗̝͚͓̥̥̤̖̰̙͎̘̞̙̝̼̥̼͉̟̦̘̺͚̳̝̗̜̖͓̰̬͍̞̮̼̗͍͕̖̝̜̦͇̜̮̣̯̜̳͔͎̭̮͔͇̩̯͚̪̖̣̫̜̙̱͓̹͓̘̳̱̝͍̺̗͚͚̬͜͜͜͜͜͜ͅͅͅͅͅͅͅ.̸̧̡̛̭̖͍̯̻̺͙͈͉̼̯̳͉̗͙͉̯̜̫̱̗̠̊̿̍̎̃̎͂̇̈́͛̓̈́̀̑́͌̒̆̌̅̒̅́̈̂̋͋͌̎̍͆͌̂́̑͊̈́̋̓̀̉̄̏́̆̈́̂̿̎̔̀̈̌̽̽̇̽͛̽̈̿̍̎̈́̑͆̕͘̚̚̕͘̕͘͝͝͠͝ 2020-03-13T08:31:30Z rbarraud: The length disruption scrolls up with them 2020-03-13T08:31:30Z lockywolf: ̨̧̡̢̡̧̢̢̧̧̡̧͎̩̰͈̱̲̳̖̬̮̠͎͉̭͖̺̭͙̜͈͎̖̣̠̼̱͇͇̙͕̙̼̯̼̰̩͙̗̫͓̣̩͎͈̗̬̟̘͇̦̟̩̰̬͖̬͓͓̩̤͚̼̳͍͎̱̗̖͓͉̩͓̳͙̰̞̥͍̟̪̗͙̹̭͍͙̰̗͚̟̗̲̳̱͖͉̗͓̝͖͔͓̜̱̜͇̗̘͎͜͜ͅ草̶̈́̏̎̂̑̔̃̽̓́̇̄̅̽̋̿̎̾̍͒̃̐̎̈́̓̔̈́̈́̉̈́̏͆̒̀̉͂̏̏͛̎̋̊̓͆́̆͌̀̅̒̌̊̄̄̇̒̇̈́̆̐̽̌̈́̄͐̋͋̏̔̐̊̑̔̈́̓̐̓̎̇͆̉̈̽̆́͒͛̏̕͘̕̚̕̕̕͘͘͘͠͝ 2020-03-13T08:31:33Z rbarraud: LOL 2020-03-13T08:31:35Z lockywolf: ̧̧̡̢̢̧̨̧̣̥̘̯̙̘͖͉͎̫̬̜͇͖̦̜̺͔̯̭̞̤̱̲̦̘̖̪̪̗̖͚͍̖͓͈̭̝̻̟̪̼̙͙͓̻̮̬̥̙̪̙͇̬̙̳̳̭̝̭͇̭͖̙͈̖̳̟̦̦̻͖̤̤̮̜̘̮̘̭͈̜͖̞͍̝̗̪͔̪̩̫͎̣̻̲̝͙̮̜̬̺̻̗̗͈̟̙͖̟̙͉͛̿͊̓̃̈̍̈́̔̈́͆̐͊̈͐̔͌̎̈͆͌͆͐̿̿̂͊͂̆͒̅͂̏̐̿̒͗̃̑̓̏̑̽̊̕͘͜͜͜͜͜͠ͅ根̸̛̞͖̺̣̗̰̪̫͋́͗͒̐̄͂͒̈́̿̕排̸̛̛̓̈́̇͊̍̃͂͋̃̍̈̽̀̀̓̾̒͗̈͑͒͒͘͝͝͝͠ 2020-03-13T08:31:44Z lockywolf: ̨̨̡̡̢̢̢̨̧̨̧̧̛̛̳̱̥͕̳̺͍̳̞̙̖͇̲̙̙̹͇͕͔̖̟̼̥̮̝͎̯̠͚̯̬͖̺̬͚̟͈̦̼͔̙͓̦̼̙̖̬̭͙̠̦̰͔̫̹͔̳͎̪̖͔́́́̒͋̾̃̆̉̽͛̈͒̈́́̀͌̌̉͒̏̓͂̽̍͛̃̇̑̓̓̈́̔̂̈̄̿́̾̈́̔̀̇̽͒̔̎͂̾́̉̉̈́̈́͗̐̔̎́̑̎͛̑͐͌̒̊̏̅̂͐́̒̄͑͑̆̊̄͑͑͘̚̕̚͘͘̕̕̕̕͘̚͘̚͜͝͝͝͝ͅ行̸̛̇̈̐͌͗̈́̑̏̂͑̾̈̅̈͒̽͊͆̉̉̇͐̾͌̿͒͂̓͐̔̈́͗͊̋̐̆̍́́͐̕̚̚͠͝͝͝ 2020-03-13T08:31:49Z lockywolf: ̡̡̡̨̢̧̛͎͎̲̗͙̳̹̺̖͙̻̗̝̜͇̬̟̩͕͉̣͎̟̫̪̜͍͇̥̰̙̣̫̘̠͕̟͍͇̙̹̥̫̗͓̠̰͇̟̱̥̲̫̇̋́̊͌̀̈́̀̒̅́̇͂͋͗̍̈́̐̿̋̏͋̇̉̓̐̏̍̽̋̏́͌̄͒̅̄̀̉̽͂̉́̃̀̈͛̿̓̂͐́̀̎̏̈́͐̿̐̌̆͒̒̆̎̏̑͑̌̀͊̅̒̕̚͘̕̚͜͜͜͜͝͠͝͝͝͝͠ͅͅ 2020-03-13T08:31:55Z lockywolf: ̵̢̢̧̧̨̡̢̨̨̢̨̢̡̨̨̧̩̹̳͕̙̳͕̼̼͖̞̫̳̻͓̫̳̠͈̭͇̹͔̝͖̳̪̼̗̬̰̮̯̦͍̳̖͕̻̣̝͔͔̝̜̗͎̝̪͉̹̺̦̲̝͎̝̯̗̩̦̣̮̻̯̞͍͖̗̪͕̮̭͓̠͙͙̘̜̬̹̣̫̳̱̺̥̱̆͗͆̐́̎͆̄̃̋͗̇̈́̒́͐̓͗́̀́̆̋͊͛̆̒̒͋͛͑͌̌̇͒̎͛̄̏́̔͌͑̅͛̊̓͐͑̌̌̒͋͗̅̽̕̚̕͠͝͠͝͠͝ͅͅͅͅͅ头̴̛̛̛͌̽͑͋̌̈́̅̔̇͑̋̈́̂͋͗͊̄̇̈́̋̈́́̽̋̾͊͒͂̾̏̊͋̇̾̊͗̿̀̄̈́́̌̕͠͠͝ 2020-03-13T08:32:00Z lockywolf: ̨̳̥̦̥͈̗̞͙̞͉̲̱̥̠̲͎͕̙̙̑̾̎̿̓̈̔̇̆̈́̊̉̈́̎̀̆̔̽͂̈́̓̇͐́̄́̀͘͜͜͜͝͠͝像̴̡̨͓̬̭͈̳̤̖̮̖̪̘͖̥̃̈́͆̓́̊̒̑͛̒̊̉̂̊̀̂̊̚ ̸̛̛̺̦̬̩͕͚͇̺̖̘̝͚̫̗̩͔͚͉̣̗͌͗̒̓͌̈̐́́͛̉̈́͐̐̾̋͂́́̅̊͆̿̈́́̌̎͌̇̐̑̋̀͂̉͗̄̔͋̈́̈́͐̒̓̏͗̏̍̆̀́́̈́͑̑͂͑͊͗̋̎̀͛̐̈̎̇̈̄̾̓̊̎̄͛͑̏́̿̓̏͂̈́̃̊̈́̆̽͒̓̏̒͘̕͘̕̚̕͘̚̕͘̚͜͝͝͝͝͠͠͠͝͝ 2020-03-13T08:32:05Z lockywolf: ̫͔͎̘̘̘͓̞͇̺汪̸̢̢̨̢̢̧̢̧̨̢̛̛̛̛͉̱̮̺͔͙͎̺̯̘̫̻͔̯̰̬̤̗̳̗̹̭̮̦̘̯̻̹̪͎̖̪̟͈͍̘̼̝̗̲̥͔̞͍͈̞̬͕̘͉̫̰̗̻̻͕̮̻̟̞̗̰̼̘̥͍͈̺͓͎̘̽̏̇̒́̂͋̔͐̈́̎̇̅͑͊̅͊͆͛̍͂͑̍̆͛̊͋̍̑̌͗̀̎̔̓͗̀̓̏̇̃́̏̀̽̅̐̐͗̉͛̈́̍̉̄͂̏̀̊̐͐̈͋̉̂̊͋̓͌̓́̉͌̋̈͛̈̒̉̈́̈͌̒͛̓̆͊̌̄̊͛́͌̄̀̌͑͋͒̈́͂̀̚̚̕͘̚̕̕͘͜͠͝͝͝͠͝͝͠͝͝͝ͅͅ东̴͒̅̓ 2020-03-13T08:32:14Z lockywolf: ̧̧̨̡̡̢̢̨̨̛̛̙̮͇̥͎̫͓̜͈̦̱̟̬͍̗̲̣͎̗͓̝̟͓̱̞̻̩͍͕͇̩̻͍͇̙͍̣͈̩̼̱̖̖̙̤̙̼̹̰̰͈̺͉̲̼͓̥̹͍̩̳͈͇͚͍̮̟̗̲̦͔̲̙̠̖̱̥̥̺͔̱̩̹̯͚̪̟̹̜̪͇͓̬̦͇̣̭̮̠̤̟̮̘̮̣͓̮̬̥̙̰̬̘͛̌̄̂̽̆̉̄͛̏́̎̓́̏̇͐̃̉̔̃̇̑͗͆͌͋̓͋̒̑̀̽̏̇̂͋̀̉̒͂́͂̏̓̌̇̀̈́͒͋̃͂͊͐̏̑͛̑̏͆̎̿̔̋̾̇̍̿̐̏̒͌̈̊̽̾̍̃̎̃̈́̂̀̆̕͘̚̕͘͜͠͝͝͝͝͠ͅͅͅͅͅͅ 2020-03-13T08:32:19Z lockywolf: ̡̧͉͇͇̼̟̺̦̘̣̠̘̱͙̤ͅ城̶̨̨̡̧̧̨̧̨̨̨̢̡̧̛͙͎̹̞̻̲̳̠͔͇͙̲̹̭̻̝̳̭͓̠͖̼̯̞̖̦͓̭̗̰̘͚̲̘͙̯̘̠̲̱͎͖̣̮͖̣̘̦̤͍̱̩̹̝̠̝̤̱̜̝̣̮̜̦͔͙͕̝̟̭̱͖̗̞̩͚̦̫̹͎̺̟̝͉̬̹̲̰͕͓̖͔̦͖͖̝̭͈̙̮̰͚͍̞̞͍̲̺̘̘̘͖̳͙̠̙͉̗̊̂̆͂̋̂̓̿̌̉͛͛̄̅̄́̿̆̊̈̀̋̏̓̄̐̑͗̈́͐̅̀͛̒̾̒̾̍͌̆̔͛͌͐̒̏͛̈̀̏̂́̈͑̕̕͘͘̚͜͜͜͜͜͝͝͝ͅͅV̷̽̅̐̄̒ 2020-03-13T08:32:26Z lockywolf: ̛̗͕͔̬͚̫͇̗̠̳̗̺̝̳̼̩̈́̀̍͆͌̿̓̌̾͂̇̄͛̅̊̔̒̇̉̒̓͌͆̀̈́̓͌̄̇̑̉̓̎̚̚͘̕͝͠ͅͅḾ̸̨̢̛̛͚̣͓̞͍̘͕̝̟̻̣̠͔͉͊̈́͒̓͗͆̔̌̈̋̍̎̅̒̍̒̿͆̓̋̈̏̆̐́̿̑̑̽̆̎́́̆̀̂̑͌̉͌̀̐̾͒̔̂̃̂͐͊͑̑̎̕͘̚͜͜͝͝͠͝͝ 2020-03-13T08:32:30Z lockywolf: ̴̨̢̥̝̜̂̅̍̽̎͊̍̒̓̈́̌̍͂́̀͐̑͂̄̒̂̃̋͆͋̉̀̂̃̀͌̒̔̔̈́̋̐͛̇̀͐͆͌͗́͗̅͐̔̒̚͜͝͝͝͝͠͝͠粉̶̧̨̧̨̧̧̛͍͔̰̠̠̟͓͔̟͚͈̰̻͚̬͎̘͔̦̗̺̣̭̲̟̻͕̯͔̘̟̭͚͚͙̗̻̝͈͍̞͙̪͍̤̭̗͉͇̘̤̥̲̖̝̲̻̤̭̭͔̯̟͍̩̙̯͎͕̞̥̻̲̗͎̅̀̓̊͊̈̅̋͐̄̆͗̌̾̀̎͊̌̓̽̋͊͋̈́̽̂̕͘͘͘͘͜͜͜͝͝丝̷̑͐̀̿͒͂̏́̂̾̒̿͊͂̑͋͑̿̀͛͋̓͂͋́̎̎̾͒͆͘͘͠͠͝͝͠͝͠ 2020-03-13T08:32:30Z rbarraud: EEek 2020-03-13T08:32:35Z lockywolf: ̡̢̧̨̢̢̧̨̢̣͇̫̠̮̫͇̻̙͎͔̱̩̠̼̦͔̹̩̜̤̦̺͓̲͓̖̲̯̥̤͙̱̝̹̞̜̣͇͉̻̫̮̫̙͎̫̟̼̟͍͍̹̘͈̼͓̘͉͕̺̗̼̠͍̹̜̱̊̒̄́͐̏͑̋̈́͑̌̈́̌̾͛̑̎͌̾̓̂́̑̒͂̕͘̕̕͜͝͠ͅͅ1̷̢̨̛̛̛̯͕͚͓͔͎̬͖̤̙̗̯̜̮̻̠̫̍̋̿̿̾͊̌͗̇̐̇̈́͒̉̋̈́̑͐̉͛̍̃̈́̐̑̾͒͆͂̂̆͒̂͌̀̈̈́̎̂͊̀̓͗͒̈́͗̅̾͊̈́͌̅̑̊̇̾̈̌̾̎͑̊̌́̀͛̿͌͗̿̃̑͌͊̐̕̕̕̚͘͘͝͝͝͝͝͠͝͝ͅͅ 2020-03-13T08:32:44Z lockywolf: ̢̢̨̢̧̢̧̨̢̢̢͔̰͍͕͖̭̠̹̳̼̪̻̳̹͎͔͇̬̱͓̳̭͍͓̮̤̜̟̥̭̥̦̯̪͎̳̣̰͕͉͎̻̻̮͔͚̮̯̣̙̗̘̩̣͎̖͎̤̩̹̞̗̗̦͇̤̣̰͙̱̮̱̗̜̥̺̭̱̜̲̞̯̬̩͙̖̝̳̖͜ͅ7̶̛̛̓̃̉̽̿͒̏̓̿̀̅͒̌̍̆́́͋̓̾̆̽̄̌͛̀̅̎̃́̈́̀͛̾̾́͆̃́̃̉̀́̆͒̏͛͌͋̾̓̃̓͒̌́͛̀̓̆̉̒͗̈́͑̔̐̏̿̔͆̄̓̇͊̎̃̈́̂͆̈͂̈̆́̆́̔̑̏̾̓̾̈͊͒͆̀̓́̓̏̐̾͊͛̚͘͘̕̚̕͠͝͝͝͝͝͠͝͠ 2020-03-13T08:32:49Z lockywolf: ̡̨̧̢̡̨̯̳͍͓͚͎̙̭͓̭̣͓̼̰̼̮̥̺̮͓͇̰̮̭̲̠̩̗̮̻̲̫̫̘̻̲̙̠͎̩̙͚̙̱͕̙̠̥̻̟͚̻̻̠͉̞͉͓͖̤͓̞̲͓̹̬̜͕̱͇̩̀͋͌́͐̓̓̃̿̔̋̓̂͊̾̕̕͜͝ͅͅ4̴̛̅̏̉̓̀̇̾́̌̇̎̈́͌̈́́͋͊̍̄̉̀̐̽͂̓̍͑̈́̍́̾͂̈́̃̈͊̎̇̏̎̊͂̓͗͂̏̊̊̈́̓̋͊̒͐́̔́̈̾̌̾̐̊̈́̀̉̋̈́̌̏̀̈̈́͛̐̂̉̋̃͂̓̎͆͛̈́͋̄̇͋̾̏̊̄̿̽͒͗͊̎̔̎͛̊̈́̕̚̕̕̚̚͘̚̕̕͘͝͝͝͝͠͝͠͝͠͠ 2020-03-13T08:32:56Z lockywolf: ̨̢̡̨̧̢̨̧̛̛̥̩̤̱̜̳̘̙̖̭̜̮̯̹̤̰̲̠̰͙̳̰̙̗̰͇͓̟̻͖͚͈̲͔̭̗̩͈͈̗̤̺̦͉̫̼͖̘̯̺͖̥̣̤͔̜̙̮̪̬̥̥͈̬̠͎̥̩̰͖̠̰̦̰̠̻͚́̈́̄̎̃̈́͒͆̉̌̅͛̽͛̊̊̒͛̕̚͜͜͠ͅͅͅ1̸̛̛̛̛̛͆̔͒̅̑̌͗͆̆͆̊̉͌͆̆̅͊̉͊͗̓̒̿̓͂̋̈́̊̆͑̓́̊̄̂̃͐̄̿̔́̊̀̿̓͋̄̿͗̎̑̑̒̈́́̐̐̂̄͐͊͒͌̀́̊͂͛͋̆̑͂̅̂̓̏̀̽͑̈̅̓̐̄̈́͑̍̑͑͐̾̚̕͘͘̕͘͝͠͠͝͠͠͠͝͠͝ 2020-03-13T08:33:01Z lockywolf: ̡̧̡̢̢̢̤̠͇̥̺̣̺̱̹̠͍͖̪͈̮͈̞̘̫̪̰͔̭̲̰͙̫̬͈̲̰̼̲̤̝̯̜̬̤̱͓͖̳̪̘̗̩̣̭͓̤̗̪̯̰͉̫̥̦͚̞̥̺̤̣͎̘͖̪̹̖̮̻̟̳̩̪̫̖͖͓͍͍̲̳̼̞̠̗̮̣̖̘͈͙̭̼͈̋̈́̊̍̑͛̊̽̀̈̋̇̋̔́̍̈̈́͑͋̃́̽̽̇́̏͒͋͊̌̅̾͐̾͒͗̓̽͆̌̈́̿͘͘͘̕͜͜͜͝͝͝͝͝ͅͅͅ1̸̛̋̍̊̔̄̉̑̏͛͗͆͆̀̊͒̃̾̊̀̅̓̄̓́̓́̔̅̈́̉̔͋͌̊͆́̅̽̿͌͆̈́̾̾́̽̌͌̌͗̊͘̚̚̕̚̕̕͠͝͠ 2020-03-13T08:33:06Z lockywolf: ̨̡̡̧̨̧̢̡̢̡̢̢̛̛͖̩̯̭̺̭̫̗̱͓̬͉̤̯͎̳̥̗͙̩̺̳̭̖̫̺̱̻̪̯̠̖̭̱̗͇̝̥̰̞̯͓͖̺͔̣̥͚̟̹̹̲̫͙̝̥̪͈͓̞̪͎̳̩̺̥̦̤͓̱̞̗̝̜͚̫̙͍̟̤̰̣̫͙̯̹͖̤̻͔͚̳͇̙̱̰̳͚̜̭̘͙͈̳͙̠͍̘̳̻͚̯͓̮̠̪̬̖̤̭̞͓͍̫̣̙͎̜̙̦͌̂̐̓̿̓̇̽̉̇̂͋͛͛̅̊̆́̌̎̐͋̿́̾̐̾̑̔́͆̄̿̑̏̊̊͛͌̎́͑̏̅̄͐̈̈́̈́̇͊̑̒̾̍̈́̕̕̚̕͠͝͠ͅͅͅ0̴̈̄̀̏͑͒̄̓͊́̋̍̓͘̕ 2020-03-13T08:33:15Z lockywolf: ̡̢̨̡̧̨̧̢̧̨̧̨̡͓͍̠̩̻͈͔̰̼͚̬̻̮͍̙̝͇͙̻̫͓̟͍͎̣͔̙̬̮͚͇̥̤̝͕̭̗̲̹̼̖͔̖̞̦̱̮͔̲̟̳̩̯̪̘̯̣͙̥̹̥̹̘̘͙̜̤͖̩͇͚̯̲̫̼̠̞͇̰͇̤̭̞͍̳̯̫͉͔̩̦̩͎͉̪̬̭͎̞͖̙͇͙̂̍͌̋̎͋̏͠ͅͅͅͅ3̴̨̡̨̧̢̡̧̼̺̺̠̹̖̻͎̰̘͎͍̩̲̺̻͕̪̞̥̲̺̜̗͙͓̘͔̯̞̙͉̣̯̝̟͕̭̏́̀̇͐͑̄̏̈́͋̉̔̒̊̓̃̑̉̀͆̈̆̓͊́̆̾̉̅̓͒̅̽̇̏̔̀̍̕͘̕͝͠ͅͅ4̷̄̈́̓̌͗͝ 2020-03-13T08:33:20Z lockywolf: ̢̛̛̟̖͆͑̃̆̀̌̍̊̌͊̑̉̏͊̍̿̐̆̎̆̏͐̎̃͂̍͐͛̌̆̄̃̏̏͋͊͆͐̌̈̈́̈̾̂́̍͆̽͛͋̊̓͌́͌͛̊͛̓̒́̒́̈́͋̂͌͊͂̓̓̆̊̿̇̊̈͌̋̚͘͘͘̚̚͝͝͝人̴̢̢̡̧̧̧̡̡̧̢̧̨͕̩͇̣̠̞̱̖̠̱̠͓͉̣͎̯̺͓͉̣̭̙̯͙̦̮͎̯͔͍̱̥̹͔̘̘̹̖̖͔̭͖̙̖͔̫̤̙̙͉͎͐͋̊͒͛͌͂̋͂̉̋͐͂̊̈́̍̐͒͋̑̓́̆͒̊̉́̋̽͊̃́̊̐̃̌̊̒̔̇̍̅̇͒̈́͑͒͗̋̀̀͛̆͗̑͐͘̕͘̕͜͜͜͠͝͠ͅ 2020-03-13T08:33:27Z lockywolf: ̟̩̲̝̞̗̺̮͖̮̫͇̗̹̪ 2020-03-13T08:33:29Z lockywolf: enjoy 2020-03-13T08:33:39Z rbarraud: Thanks :-) 2020-03-13T08:33:47Z rbarraud: Is that long one Farsi? 2020-03-13T08:33:58Z lockywolf: https://zalgo.org/ 2020-03-13T08:36:19Z lavaflow quit (Quit: WeeChat 2.7) 2020-03-13T08:36:53Z lavaflow joined #scheme 2020-03-13T08:37:07Z niklasl joined #scheme 2020-03-13T08:37:17Z pjb left #scheme 2020-03-13T08:37:24Z pjb joined #scheme 2020-03-13T08:38:06Z rbarraud: LOL thanks for that lockywolf 2020-03-13T08:38:39Z luni left #scheme 2020-03-13T08:39:41Z zacklocx joined #scheme 2020-03-13T08:40:35Z tohoyn joined #scheme 2020-03-13T08:41:07Z tohoyn quit (Client Quit) 2020-03-13T08:42:58Z zacklocx quit (Remote host closed the connection) 2020-03-13T08:51:07Z niklasl quit (Ping timeout: 260 seconds) 2020-03-13T08:57:12Z daviid joined #scheme 2020-03-13T08:58:52Z xelxebar joined #scheme 2020-03-13T09:05:40Z oni-on-ion quit (Remote host closed the connection) 2020-03-13T09:05:47Z niklasl joined #scheme 2020-03-13T09:05:58Z oni-on-ion joined #scheme 2020-03-13T09:06:37Z luni joined #scheme 2020-03-13T09:09:05Z terpri joined #scheme 2020-03-13T09:16:43Z brendyyn joined #scheme 2020-03-13T09:19:19Z badkins joined #scheme 2020-03-13T09:22:54Z niklasl quit (Ping timeout: 268 seconds) 2020-03-13T09:24:08Z badkins quit (Ping timeout: 268 seconds) 2020-03-13T09:26:29Z poga left #scheme 2020-03-13T09:37:26Z niklasl joined #scheme 2020-03-13T09:51:02Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T09:52:11Z lavaflow quit (Ping timeout: 258 seconds) 2020-03-13T09:52:28Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-13T09:53:04Z RRedcroft joined #scheme 2020-03-13T10:02:38Z terpri quit (Quit: Leaving) 2020-03-13T10:02:54Z terpri joined #scheme 2020-03-13T10:03:10Z oxum_ joined #scheme 2020-03-13T10:03:29Z terpri quit (Remote host closed the connection) 2020-03-13T10:03:48Z terpri joined #scheme 2020-03-13T10:03:58Z oxum quit (Read error: Connection reset by peer) 2020-03-13T10:05:45Z oxum_ quit (Read error: Connection reset by peer) 2020-03-13T10:05:45Z niklasl joined #scheme 2020-03-13T10:06:08Z oxum joined #scheme 2020-03-13T10:06:13Z luni quit (Remote host closed the connection) 2020-03-13T10:08:06Z oxum quit (Read error: Connection reset by peer) 2020-03-13T10:08:21Z oxum joined #scheme 2020-03-13T10:16:26Z oxum quit (Ping timeout: 240 seconds) 2020-03-13T10:21:39Z RRedcroft quit (Remote host closed the connection) 2020-03-13T10:21:42Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T10:22:04Z oxum joined #scheme 2020-03-13T10:36:28Z niklasl joined #scheme 2020-03-13T10:38:48Z lockywolf joined #scheme 2020-03-13T10:41:23Z lockywolf_ joined #scheme 2020-03-13T10:42:11Z hugh_marera joined #scheme 2020-03-13T10:43:38Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-13T10:52:32Z niklasl quit (Ping timeout: 256 seconds) 2020-03-13T10:58:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-13T10:58:53Z zig: what happenned to the channel? 2020-03-13T11:02:49Z pjb: Nothing. Just ask a scheme question! 2020-03-13T11:03:09Z zig: it is at least the 3rd time I rework my whole r7rs distro. Each time I do a step backward, two step forward, I will get there eventually. 2020-03-13T11:07:27Z niklasl joined #scheme 2020-03-13T11:21:43Z niklasl quit (Ping timeout: 265 seconds) 2020-03-13T11:33:28Z TCZ joined #scheme 2020-03-13T11:36:25Z niklasl joined #scheme 2020-03-13T11:39:07Z TCZ quit (Quit: Leaving) 2020-03-13T11:44:56Z lritter joined #scheme 2020-03-13T11:47:41Z RRedcroft joined #scheme 2020-03-13T11:50:05Z kritixilithos joined #scheme 2020-03-13T11:52:33Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T11:58:29Z rbarraud: LOLZ 2020-03-13T11:58:52Z rbarraud: Someone said the 'S' word in here ;-) 2020-03-13T11:58:59Z rbarraud: Cleared the room... 2020-03-13T11:59:55Z thelounge5200 joined #scheme 2020-03-13T12:00:10Z thelounge5200 quit (Client Quit) 2020-03-13T12:01:26Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-13T12:07:25Z niklasl joined #scheme 2020-03-13T12:21:18Z niklasl quit (Ping timeout: 258 seconds) 2020-03-13T12:34:41Z hugh_marera quit (Quit: hugh_marera) 2020-03-13T12:34:41Z lockywolf joined #scheme 2020-03-13T12:36:05Z niklasl joined #scheme 2020-03-13T12:40:30Z RRedcroft quit (Remote host closed the connection) 2020-03-13T12:42:53Z lockywolf_ joined #scheme 2020-03-13T12:45:18Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-13T12:51:43Z niklasl quit (Ping timeout: 255 seconds) 2020-03-13T12:52:01Z jao joined #scheme 2020-03-13T12:56:39Z sz0 joined #scheme 2020-03-13T12:58:22Z lockywolf_ quit (Remote host closed the connection) 2020-03-13T12:58:31Z klovett quit (Remote host closed the connection) 2020-03-13T12:58:49Z klovett joined #scheme 2020-03-13T13:01:16Z lockywolf joined #scheme 2020-03-13T13:01:44Z lockywolf quit (Remote host closed the connection) 2020-03-13T13:02:23Z lockywolf joined #scheme 2020-03-13T13:03:15Z lockywolf quit (Remote host closed the connection) 2020-03-13T13:03:43Z lockywolf joined #scheme 2020-03-13T13:04:45Z lockywolf quit (Remote host closed the connection) 2020-03-13T13:05:15Z lockywolf joined #scheme 2020-03-13T13:05:22Z drakonis joined #scheme 2020-03-13T13:06:15Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:06:29Z niklasl joined #scheme 2020-03-13T13:06:47Z lockywolf joined #scheme 2020-03-13T13:07:14Z lucasb joined #scheme 2020-03-13T13:07:43Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:08:23Z lockywolf joined #scheme 2020-03-13T13:09:15Z lockywolf quit (Remote host closed the connection) 2020-03-13T13:09:45Z lockywolf joined #scheme 2020-03-13T13:10:44Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:11:22Z lockywolf joined #scheme 2020-03-13T13:12:13Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:12:44Z lockywolf joined #scheme 2020-03-13T13:13:45Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:14:16Z lockywolf joined #scheme 2020-03-13T13:15:13Z lockywolf quit (Max SendQ exceeded) 2020-03-13T13:16:14Z lockywolf joined #scheme 2020-03-13T13:16:45Z lockywolf quit (Remote host closed the connection) 2020-03-13T13:17:13Z lockywolf joined #scheme 2020-03-13T13:19:29Z TCZ joined #scheme 2020-03-13T13:22:08Z niklasl quit (Ping timeout: 256 seconds) 2020-03-13T13:34:22Z zooey_ joined #scheme 2020-03-13T13:35:03Z zooey quit (Ping timeout: 240 seconds) 2020-03-13T13:39:42Z kjak quit (Ping timeout: 256 seconds) 2020-03-13T13:51:42Z TCZ quit (Quit: Leaving) 2020-03-13T13:52:20Z kjak joined #scheme 2020-03-13T13:58:15Z zig: SCHEME! 2020-03-13T13:58:52Z jcowan: SCHAME! SCHUME! 2020-03-13T14:00:11Z hugh_marera joined #scheme 2020-03-13T14:08:36Z oxum quit (Ping timeout: 256 seconds) 2020-03-13T14:13:42Z badkins joined #scheme 2020-03-13T14:17:13Z TCZ joined #scheme 2020-03-13T14:25:17Z oxum joined #scheme 2020-03-13T14:29:43Z oxum quit (Ping timeout: 258 seconds) 2020-03-13T14:35:43Z mdhughes: CONSPIRE! PLOT! 2020-03-13T14:37:32Z mdhughes: I was busy on my 7DRL in JS, then site & computer maintenance, and now finishing the 7DRL as a "real game", so not much Scheme work going on. Soon. 2020-03-13T14:40:01Z oni-on-ion: =) 2020-03-13T14:40:12Z v_m_v joined #scheme 2020-03-13T14:45:28Z oxum joined #scheme 2020-03-13T14:45:43Z oxum quit (Remote host closed the connection) 2020-03-13T14:46:07Z oxum joined #scheme 2020-03-13T14:50:42Z v_m_v quit (Remote host closed the connection) 2020-03-13T14:52:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-13T14:52:56Z zig: GRAND 2020-03-13T14:54:16Z kritixilithos joined #scheme 2020-03-13T14:54:18Z v_m_v joined #scheme 2020-03-13T15:00:37Z v_m_v quit (Remote host closed the connection) 2020-03-13T15:01:53Z v_m_v joined #scheme 2020-03-13T15:16:45Z jcowan: I Scheme today, I schame yesterday, I have schume for years now. 2020-03-13T15:17:05Z jcowan: mdhughes: Also PLAN and CONNIVE 2020-03-13T15:17:31Z luni joined #scheme 2020-03-13T15:17:40Z jcowan: they were PLANR and CONIVR; I don't know why Scheme wasn't SCHEMR in the world of 6-character file names 2020-03-13T15:19:38Z jao quit (Ping timeout: 240 seconds) 2020-03-13T15:20:07Z skapata joined #scheme 2020-03-13T15:20:15Z luni: here we're in quarantine till the 3 of the next month :( 2020-03-13T15:21:50Z luni: i have to ask for an advice... i would like to extract as multiple values the rows of a matrix... 2020-03-13T15:22:03Z luni: so i tried this: `(values ,@(map (lambda (i) (matrix-row-get test-matrix i)) '(1 2))) 2020-03-13T15:22:16Z luni: to have the second and third rows for example 2020-03-13T15:22:28Z zaifir: luni: Condolences. Wouldn’t that be a *lot* of values? 2020-03-13T15:22:29Z luni: but the result is not evaluated... :/ 2020-03-13T15:22:47Z wasamasa: why do you quote it then? 2020-03-13T15:22:48Z zaifir: No, it wouldn't be. 2020-03-13T15:22:57Z luni: i mean i get back (values #(2 3 4 5 6) #(3 4 5 6 7)) for example 2020-03-13T15:23:18Z zaifir: Right. 2020-03-13T15:23:24Z luni: how is possible to have back the two rows distinctly? 2020-03-13T15:23:36Z wasamasa: if you quote, it's not evaluated 2020-03-13T15:23:38Z luni: i would like the result would be evaluated... 2020-03-13T15:23:43Z wasamasa: if you don't quote, it's evaluated 2020-03-13T15:23:58Z zaifir: luni: So just get rid of the quoting? 2020-03-13T15:24:40Z zaifir: luni: There is a slight wrinkle; you need apply: (apply values (map (lambda (i) ...) ...)) 2020-03-13T15:24:55Z luni: but (values (map (lambda (i) (matrix-row-get test-matrix i)) '(1 2))) gives me back a list with two rows, not two distinct values 2020-03-13T15:25:14Z wasamasa: to handle values, you need an appropriate procedure 2020-03-13T15:25:22Z zaifir: luni: see apply example ^^ 2020-03-13T15:25:22Z wasamasa: like call-with-values or receive 2020-03-13T15:25:50Z luni: ok... i will try. Thank you for the precious help 2020-03-13T15:25:52Z zaifir: let-values is standard 2020-03-13T15:27:12Z lavaflow joined #scheme 2020-03-13T15:53:56Z hugh_marera quit (Quit: hugh_marera) 2020-03-13T15:56:57Z jao joined #scheme 2020-03-13T16:01:52Z lockywolf_ joined #scheme 2020-03-13T16:02:45Z lockywolf_ quit (Remote host closed the connection) 2020-03-13T16:03:23Z lockywolf_ joined #scheme 2020-03-13T16:04:15Z lockywolf_ quit (Remote host closed the connection) 2020-03-13T16:04:52Z lockywolf quit (Ping timeout: 260 seconds) 2020-03-13T16:08:18Z sarna quit (Quit: bye) 2020-03-13T16:08:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-13T16:09:36Z sarna joined #scheme 2020-03-13T16:11:46Z TCZ quit (Quit: Leaving) 2020-03-13T16:13:19Z TCZ joined #scheme 2020-03-13T16:24:22Z badkins quit (Remote host closed the connection) 2020-03-13T16:24:43Z jao quit (Ping timeout: 260 seconds) 2020-03-13T16:24:57Z badkins joined #scheme 2020-03-13T16:30:05Z badkins quit (Ping timeout: 258 seconds) 2020-03-13T16:39:34Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-13T16:41:20Z klovett quit 2020-03-13T16:41:48Z TCZ quit (Quit: Leaving) 2020-03-13T16:42:54Z badkins joined #scheme 2020-03-13T16:52:28Z kritixilithos joined #scheme 2020-03-13T17:01:26Z brendyyn quit (Ping timeout: 256 seconds) 2020-03-13T17:02:34Z rgherdt joined #scheme 2020-03-13T17:09:25Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-13T17:22:09Z klovett joined #scheme 2020-03-13T17:29:03Z badkins quit (Remote host closed the connection) 2020-03-13T17:29:38Z badkins joined #scheme 2020-03-13T17:34:19Z badkins quit (Ping timeout: 255 seconds) 2020-03-13T17:42:53Z badkins joined #scheme 2020-03-13T17:43:52Z ngz joined #scheme 2020-03-13T17:46:46Z skapata quit (Remote host closed the connection) 2020-03-13T18:10:44Z badkins quit (Remote host closed the connection) 2020-03-13T18:11:25Z badkins joined #scheme 2020-03-13T18:13:02Z gioyik joined #scheme 2020-03-13T18:16:14Z badkins quit (Ping timeout: 256 seconds) 2020-03-13T18:17:41Z lockywolf joined #scheme 2020-03-13T18:18:38Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:19:11Z lockywolf joined #scheme 2020-03-13T18:20:08Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:20:42Z lockywolf joined #scheme 2020-03-13T18:21:35Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:22:10Z lockywolf joined #scheme 2020-03-13T18:23:06Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:23:40Z lockywolf joined #scheme 2020-03-13T18:24:45Z lockywolf quit (Remote host closed the connection) 2020-03-13T18:25:13Z lockywolf joined #scheme 2020-03-13T18:26:10Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:26:45Z lockywolf joined #scheme 2020-03-13T18:27:42Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:28:20Z lockywolf joined #scheme 2020-03-13T18:29:13Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:29:55Z lockywolf joined #scheme 2020-03-13T18:30:44Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:31:31Z lockywolf joined #scheme 2020-03-13T18:32:15Z lockywolf quit (Remote host closed the connection) 2020-03-13T18:32:42Z lockywolf joined #scheme 2020-03-13T18:33:36Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:33:43Z gioyik quit (Ping timeout: 255 seconds) 2020-03-13T18:34:05Z lockywolf joined #scheme 2020-03-13T18:35:03Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:35:50Z lockywolf joined #scheme 2020-03-13T18:36:43Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:37:46Z lockywolf joined #scheme 2020-03-13T18:38:37Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:39:10Z lockywolf joined #scheme 2020-03-13T18:39:29Z ngz quit (Ping timeout: 272 seconds) 2020-03-13T18:40:03Z lockywolf quit (Max SendQ exceeded) 2020-03-13T18:40:40Z lockywolf joined #scheme 2020-03-13T18:41:48Z ChanServ has set mode +o Riastradh 2020-03-13T18:41:59Z Riastradh has set mode +b lockywolf!*@* 2020-03-13T18:44:06Z badkins joined #scheme 2020-03-13T18:46:11Z kritixilithos quit (Quit: quit) 2020-03-13T19:02:54Z jao joined #scheme 2020-03-13T19:03:03Z jao is now known as Guest99024 2020-03-13T19:04:05Z Guest99024 is now known as jao 2020-03-13T19:05:17Z drakonis joined #scheme 2020-03-13T19:12:51Z v_m_v quit (Remote host closed the connection) 2020-03-13T19:13:19Z _apg quit (Ping timeout: 255 seconds) 2020-03-13T19:16:42Z xkapastel joined #scheme 2020-03-13T19:25:47Z gioyik joined #scheme 2020-03-13T19:35:53Z ecraven: I still sometimes pine for the syntactic simplicity of `receive' ;) 2020-03-13T19:46:52Z narendraj9 joined #scheme 2020-03-13T19:54:14Z lockywolf_ joined #scheme 2020-03-13T19:57:02Z lockywolf quit (Ping timeout: 260 seconds) 2020-03-13T20:21:40Z civodul joined #scheme 2020-03-13T20:23:08Z gwatt: ecraven: that's a pretty simple macro to write though 2020-03-13T20:24:53Z jcowan: It's on the Amber docket, so I hope it will be voted in 2020-03-13T20:27:00Z ngz joined #scheme 2020-03-13T20:27:01Z badkins quit (Remote host closed the connection) 2020-03-13T20:28:37Z badkins joined #scheme 2020-03-13T20:32:58Z badkins quit (Ping timeout: 255 seconds) 2020-03-13T20:34:06Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-13T20:35:08Z gioyik quit (Ping timeout: 265 seconds) 2020-03-13T20:37:55Z narendraj9 quit (Read error: Connection reset by peer) 2020-03-13T20:38:23Z gendarme joined #scheme 2020-03-13T20:43:24Z gendarme quit (Remote host closed the connection) 2020-03-13T20:45:27Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-13T20:49:06Z narendra` joined #scheme 2020-03-13T21:00:50Z ggole quit (Quit: Leaving) 2020-03-13T21:05:11Z rgherdt quit (Remote host closed the connection) 2020-03-13T21:09:10Z gendarme joined #scheme 2020-03-13T21:11:46Z gendarme quit (Remote host closed the connection) 2020-03-13T21:12:39Z klovett quit 2020-03-13T21:13:04Z TCZ joined #scheme 2020-03-13T21:14:02Z gendarme joined #scheme 2020-03-13T21:15:55Z narendra` quit (Ping timeout: 272 seconds) 2020-03-13T21:17:35Z narendra` joined #scheme 2020-03-13T21:22:15Z narendra` quit (Ping timeout: 272 seconds) 2020-03-13T21:25:03Z ecraven: gwatt: so many things are simple to write, but not very useful if you *have* to write them in each program, to make sure they exist :-/ 2020-03-13T21:25:40Z narendraj9 joined #scheme 2020-03-13T21:31:48Z jao quit (Remote host closed the connection) 2020-03-13T21:32:06Z jcowan: ecraven, gwatt: Hence SRFIs, hence R7RS-large 2020-03-13T21:36:55Z gravicappa quit (Ping timeout: 260 seconds) 2020-03-13T21:39:36Z jao joined #scheme 2020-03-13T21:42:15Z gmaggior joined #scheme 2020-03-13T21:53:29Z jxy_ quit (Quit: leaving) 2020-03-13T21:54:13Z gendarme quit (Quit: gendarme) 2020-03-13T21:57:48Z jxy joined #scheme 2020-03-13T22:11:48Z klovett joined #scheme 2020-03-13T22:14:39Z gendarme joined #scheme 2020-03-13T22:15:00Z gendarme: hello 2020-03-13T22:15:42Z gendarme: how would you go about representing polynomials? a list makes sense, but how do I "group" information about this new object together 2020-03-13T22:15:47Z gendarme: just wondering what that looks like 2020-03-13T22:17:11Z gendarme: I'm kinda looking for a record style data type 2020-03-13T22:19:42Z gendarme quit (Quit: gendarme) 2020-03-13T22:20:00Z jcowan: Since you have to process polynomials a term at a time, a list with the constant first, the x temr second, the x^2 term third, ... 2020-03-13T22:21:01Z jcowan: is probably the best data structure. Lisps generally favor generic data structures (100 functions on 10 data structures) rather than bespoke data structures that need their own functions (10 functions plus accessors and maybe mutators on 100 data structures). 2020-03-13T22:23:43Z badkins joined #scheme 2020-03-13T22:38:15Z narendraj9 quit (Ping timeout: 272 seconds) 2020-03-13T22:43:21Z v_m_v joined #scheme 2020-03-13T22:58:26Z skapata joined #scheme 2020-03-13T22:59:49Z lritter quit (Quit: Leaving) 2020-03-13T23:03:03Z Lysander__ joined #scheme 2020-03-13T23:05:24Z TCZ quit (Quit: Leaving) 2020-03-13T23:05:50Z TCZ joined #scheme 2020-03-13T23:06:31Z Lysandros quit (Ping timeout: 260 seconds) 2020-03-13T23:12:16Z v_m_v quit (Remote host closed the connection) 2020-03-13T23:14:26Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-13T23:37:55Z badkins quit (Remote host closed the connection) 2020-03-13T23:38:46Z badkins joined #scheme 2020-03-13T23:43:46Z badkins quit (Ping timeout: 256 seconds) 2020-03-13T23:45:14Z enderby joined #scheme 2020-03-13T23:48:49Z lockywolf__ joined #scheme 2020-03-13T23:49:50Z lockywolf__ quit (Max SendQ exceeded) 2020-03-13T23:50:24Z lockywolf__ joined #scheme 2020-03-13T23:51:28Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-13T23:51:33Z TCZ quit (Quit: Leaving) 2020-03-14T00:24:56Z luni quit (Remote host closed the connection) 2020-03-14T00:28:39Z badkins joined #scheme 2020-03-14T00:29:13Z wigust quit (Ping timeout: 268 seconds) 2020-03-14T00:29:38Z wigust joined #scheme 2020-03-14T00:29:50Z cdadr quit (Ping timeout: 268 seconds) 2020-03-14T00:30:19Z cdadr joined #scheme 2020-03-14T00:30:27Z DerGuteMoritz quit (Ping timeout: 268 seconds) 2020-03-14T00:30:50Z kjak_ joined #scheme 2020-03-14T00:31:04Z xi quit (Ping timeout: 268 seconds) 2020-03-14T00:31:19Z xi- joined #scheme 2020-03-14T00:31:37Z ineiros_ joined #scheme 2020-03-14T00:31:55Z r0kc4t_ joined #scheme 2020-03-14T00:31:58Z kjak quit (Disconnected by services) 2020-03-14T00:32:03Z kjak_ is now known as kjak 2020-03-14T00:32:17Z m1dnight1 joined #scheme 2020-03-14T00:34:08Z m1dnight_ quit (Ping timeout: 240 seconds) 2020-03-14T00:34:08Z ineiros quit (Ping timeout: 240 seconds) 2020-03-14T00:34:08Z stee quit (Ping timeout: 240 seconds) 2020-03-14T00:34:08Z r0kc4t quit (Ping timeout: 240 seconds) 2020-03-14T00:35:05Z DerGuteMoritz joined #scheme 2020-03-14T00:38:16Z stee joined #scheme 2020-03-14T00:50:59Z mgh quit (Ping timeout: 268 seconds) 2020-03-14T00:55:44Z mgh joined #scheme 2020-03-14T00:55:46Z Khisanth quit (Ping timeout: 255 seconds) 2020-03-14T00:58:36Z Khisanth joined #scheme 2020-03-14T00:59:32Z arbv2 joined #scheme 2020-03-14T00:59:56Z arbv2 quit (Client Quit) 2020-03-14T01:03:52Z mgh quit (Ping timeout: 265 seconds) 2020-03-14T01:11:11Z lockywolf_ joined #scheme 2020-03-14T01:13:38Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-14T01:15:17Z mgh joined #scheme 2020-03-14T01:19:38Z mgh quit (Ping timeout: 240 seconds) 2020-03-14T01:23:35Z seepel joined #scheme 2020-03-14T01:30:18Z seepel quit (Ping timeout: 256 seconds) 2020-03-14T01:34:35Z seepel joined #scheme 2020-03-14T01:35:19Z TCZ joined #scheme 2020-03-14T01:37:13Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-14T01:39:07Z seepel quit (Ping timeout: 260 seconds) 2020-03-14T01:52:39Z enderby quit (Ping timeout: 268 seconds) 2020-03-14T01:53:01Z enderby joined #scheme 2020-03-14T01:57:24Z niklasl joined #scheme 2020-03-14T02:15:38Z badkins quit (Remote host closed the connection) 2020-03-14T02:15:38Z niklasl quit (Ping timeout: 256 seconds) 2020-03-14T02:19:22Z mgh joined #scheme 2020-03-14T02:23:07Z niklasl joined #scheme 2020-03-14T02:24:03Z mgh quit (Ping timeout: 240 seconds) 2020-03-14T02:33:09Z mgh joined #scheme 2020-03-14T02:36:11Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-14T02:46:15Z X-Scale` joined #scheme 2020-03-14T02:47:43Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-14T02:47:43Z X-Scale` is now known as X-Scale 2020-03-14T03:00:39Z brendyyn joined #scheme 2020-03-14T03:04:09Z TCZ quit (Quit: Leaving) 2020-03-14T03:21:15Z evhan` joined #scheme 2020-03-14T03:21:18Z wigust- joined #scheme 2020-03-14T03:21:24Z copec_ joined #scheme 2020-03-14T03:21:45Z niklasl quit (Ping timeout: 258 seconds) 2020-03-14T03:23:30Z snits_ joined #scheme 2020-03-14T03:23:32Z aoh__ joined #scheme 2020-03-14T03:23:45Z kbtr_ joined #scheme 2020-03-14T03:23:50Z zaifir_ joined #scheme 2020-03-14T03:23:52Z ski_ joined #scheme 2020-03-14T03:24:07Z ineiros joined #scheme 2020-03-14T03:24:07Z zig1 joined #scheme 2020-03-14T03:26:27Z niklasl joined #scheme 2020-03-14T03:28:46Z DerGuteMoritz quit (*.net *.split) 2020-03-14T03:28:46Z ineiros_ quit (*.net *.split) 2020-03-14T03:28:46Z kjak quit (*.net *.split) 2020-03-14T03:28:47Z wigust quit (*.net *.split) 2020-03-14T03:28:47Z zaifir quit (*.net *.split) 2020-03-14T03:28:47Z joast quit (*.net *.split) 2020-03-14T03:28:47Z copec quit (*.net *.split) 2020-03-14T03:28:47Z kbtr quit (*.net *.split) 2020-03-14T03:28:47Z zig quit (*.net *.split) 2020-03-14T03:28:47Z snits quit (*.net *.split) 2020-03-14T03:28:47Z cmatei quit (*.net *.split) 2020-03-14T03:28:48Z aoh quit (*.net *.split) 2020-03-14T03:28:48Z ski quit (*.net *.split) 2020-03-14T03:28:48Z evhan quit (*.net *.split) 2020-03-14T03:28:48Z nevermind quit (*.net *.split) 2020-03-14T03:28:48Z copec_ is now known as copec 2020-03-14T03:30:51Z niklasl quit (Ping timeout: 240 seconds) 2020-03-14T03:31:26Z niklasl joined #scheme 2020-03-14T03:34:11Z kjak joined #scheme 2020-03-14T03:35:46Z cmatei joined #scheme 2020-03-14T03:36:03Z DerGuteMoritz joined #scheme 2020-03-14T03:40:20Z seepel joined #scheme 2020-03-14T03:42:50Z niklasl quit (Ping timeout: 258 seconds) 2020-03-14T03:44:39Z seepel quit (Ping timeout: 260 seconds) 2020-03-14T03:54:18Z seepel joined #scheme 2020-03-14T03:54:46Z niklasl joined #scheme 2020-03-14T04:10:26Z seepel quit (Ping timeout: 258 seconds) 2020-03-14T04:16:13Z badkins joined #scheme 2020-03-14T04:20:03Z gravicappa joined #scheme 2020-03-14T04:20:39Z badkins quit (Ping timeout: 268 seconds) 2020-03-14T04:28:04Z niklasl quit (Ping timeout: 258 seconds) 2020-03-14T04:28:24Z ski_ is now known as ski 2020-03-14T04:30:41Z niklasl joined #scheme 2020-03-14T04:32:46Z zaifir_ is now known as zaifir 2020-03-14T04:51:51Z jao quit (Ping timeout: 260 seconds) 2020-03-14T05:33:29Z longshi joined #scheme 2020-03-14T05:35:00Z seepel joined #scheme 2020-03-14T05:35:13Z gioyik joined #scheme 2020-03-14T05:40:59Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-14T05:43:11Z seepel quit (Ping timeout: 260 seconds) 2020-03-14T06:02:26Z longshi quit (Ping timeout: 240 seconds) 2020-03-14T06:08:04Z gioyik_ joined #scheme 2020-03-14T06:08:51Z gioyik quit (Ping timeout: 260 seconds) 2020-03-14T06:19:45Z nevermind joined #scheme 2020-03-14T06:39:24Z niklasl quit (Ping timeout: 268 seconds) 2020-03-14T06:44:42Z pjb quit (Quit: Let's go travel!) 2020-03-14T06:49:08Z gravicappa quit (Ping timeout: 258 seconds) 2020-03-14T06:51:14Z gnomon quit (Ping timeout: 240 seconds) 2020-03-14T06:56:01Z niklasl joined #scheme 2020-03-14T06:57:19Z skapata quit (Remote host closed the connection) 2020-03-14T07:09:50Z niklasl quit (Ping timeout: 258 seconds) 2020-03-14T07:13:16Z gnomon joined #scheme 2020-03-14T07:19:46Z niklasl joined #scheme 2020-03-14T07:37:41Z stultulo joined #scheme 2020-03-14T07:37:59Z f8l quit (Ping timeout: 260 seconds) 2020-03-14T07:38:04Z stultulo is now known as f8l 2020-03-14T07:57:45Z niklasl quit (Ping timeout: 258 seconds) 2020-03-14T08:00:08Z gioyik_ quit (Quit: WeeChat 2.7) 2020-03-14T08:08:54Z brendarn joined #scheme 2020-03-14T08:09:14Z brendyyn quit (Ping timeout: 256 seconds) 2020-03-14T08:13:03Z niklasl joined #scheme 2020-03-14T08:26:59Z niklasl quit (Ping timeout: 260 seconds) 2020-03-14T08:29:35Z narendraj9 joined #scheme 2020-03-14T08:34:46Z niklasl joined #scheme 2020-03-14T09:00:20Z v_m_v joined #scheme 2020-03-14T09:01:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-14T09:11:49Z hugh_marera joined #scheme 2020-03-14T09:13:52Z luni joined #scheme 2020-03-14T09:31:01Z niklasl quit (Ping timeout: 255 seconds) 2020-03-14T09:47:37Z gravicappa joined #scheme 2020-03-14T09:49:35Z narendraj9 quit (Ping timeout: 272 seconds) 2020-03-14T09:53:22Z epony: marking 60 yrs today, Mar 14 LISP introduced, 1960: McCarthy published its design in a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" 2020-03-14T09:56:36Z zig1: history is cool. 2020-03-14T09:56:47Z zig1 is now known as zig 2020-03-14T09:57:20Z epony: to some extent 2020-03-14T09:57:38Z zig: my point 2020-03-14T09:58:02Z epony: no contestation ;-) 2020-03-14T09:59:39Z zig: thanks for the reminder :-) 2020-03-14T09:59:56Z epony: noticed it in my calendar 2020-03-14T10:14:46Z narendraj9 joined #scheme 2020-03-14T10:28:38Z nly quit (Ping timeout: 256 seconds) 2020-03-14T10:30:39Z enderby quit (Ping timeout: 268 seconds) 2020-03-14T10:37:36Z Naptra joined #scheme 2020-03-14T10:42:58Z longshi joined #scheme 2020-03-14T10:47:56Z z-memory joined #scheme 2020-03-14T10:53:58Z kritixilithos joined #scheme 2020-03-14T11:13:03Z luni quit (Remote host closed the connection) 2020-03-14T11:25:13Z ggole joined #scheme 2020-03-14T11:26:57Z hugh_marera quit (Quit: hugh_marera) 2020-03-14T11:33:35Z hugh_marera joined #scheme 2020-03-14T11:45:46Z sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-14T11:46:51Z sammich joined #scheme 2020-03-14T11:58:40Z xelxebar joined #scheme 2020-03-14T12:05:14Z xelxebar_ joined #scheme 2020-03-14T12:06:30Z xelxebar quit (Remote host closed the connection) 2020-03-14T12:10:11Z narendraj9 quit (Ping timeout: 272 seconds) 2020-03-14T12:25:02Z lritter joined #scheme 2020-03-14T12:29:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-14T12:32:59Z acarrico quit (Ping timeout: 258 seconds) 2020-03-14T12:49:06Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-14T12:49:15Z X-Scale` joined #scheme 2020-03-14T12:49:54Z X-Scale` is now known as X-Scale 2020-03-14T12:58:03Z xelxebar_ quit (Ping timeout: 240 seconds) 2020-03-14T12:58:56Z xelxebar joined #scheme 2020-03-14T13:02:48Z TCZ joined #scheme 2020-03-14T13:05:52Z brendarn quit (Quit: WeeChat 2.7.1) 2020-03-14T13:06:06Z brendyyn joined #scheme 2020-03-14T13:13:07Z luni joined #scheme 2020-03-14T13:17:41Z xelxebar_ joined #scheme 2020-03-14T13:18:24Z xelxebar quit (Remote host closed the connection) 2020-03-14T13:29:48Z narendraj9 joined #scheme 2020-03-14T13:36:16Z Lysander__ quit (Changing host) 2020-03-14T13:36:16Z Lysander__ joined #scheme 2020-03-14T13:36:18Z Lysander__ is now known as Lysandros 2020-03-14T13:43:59Z luni quit (Remote host closed the connection) 2020-03-14T14:07:32Z z-memory quit (Quit: Connection closed for inactivity) 2020-03-14T14:24:15Z joast joined #scheme 2020-03-14T14:24:17Z luni joined #scheme 2020-03-14T14:26:20Z v_m_v quit (Remote host closed the connection) 2020-03-14T14:27:36Z narendraj9 quit (Ping timeout: 246 seconds) 2020-03-14T14:46:59Z partyclicker joined #scheme 2020-03-14T14:47:24Z partyclicker quit (Remote host closed the connection) 2020-03-14T14:49:39Z badkins joined #scheme 2020-03-14T14:51:37Z partyclicker joined #scheme 2020-03-14T14:54:44Z kritixilithos joined #scheme 2020-03-14T14:58:50Z v_m_v joined #scheme 2020-03-14T15:03:07Z v_m_v quit (Ping timeout: 255 seconds) 2020-03-14T15:03:19Z Riastradh has set mode -b lockywolf!*@* 2020-03-14T15:03:23Z Riastradh has set mode -o Riastradh 2020-03-14T15:05:55Z Riastradh: PSA: Wash your hands (soap & water is highly effective), cancel all inessential in-person meetings or travel, and if you must go out and about then wear a surgical mask if you already have some. Maybe you're young and healthy and will likely make it through but you can spread it to people who aren't and overwhelm the health care system. Yes, you. 2020-03-14T15:09:33Z narendraj9 joined #scheme 2020-03-14T15:17:02Z TCZ quit (Quit: Leaving) 2020-03-14T15:19:05Z acarrico joined #scheme 2020-03-14T15:20:35Z sz0 joined #scheme 2020-03-14T15:24:47Z pilne joined #scheme 2020-03-14T15:25:59Z badkins quit (Remote host closed the connection) 2020-03-14T15:33:09Z acarrico quit (Ping timeout: 258 seconds) 2020-03-14T15:42:14Z TCZ joined #scheme 2020-03-14T15:46:20Z zig: ! 2020-03-14T15:48:14Z luni: here controls are intensified, there are few cars and people on the streets, almost all commercial activities are closed, people stay at home 2020-03-14T15:49:14Z Riastradh: luni: Where are you located? 2020-03-14T15:49:44Z luni: in Italy (north east) 2020-03-14T15:51:02Z Riastradh: Yeah, we in the rest of the world need to learn from what is happening in the hospitals where you are -- and what happened in Hubei and Iran -- and help to limit the spread before slow-moving governments realize what drastic measures are needed. 2020-03-14T15:53:43Z luni: to contain the pandemic diffusion the best policy is the confinement. so is better people barricade at home 2020-03-14T15:54:25Z zig: blah blah economy blah blah wall-street bla blah people? 2020-03-14T15:54:35Z kritixilithos: i underestimated the situation until i read this twitter thread https://twitter.com/jasonvanschoor/status/1237142891077697538?s=19 from hn 2020-03-14T15:55:14Z Riastradh: zig: ? 2020-03-14T15:58:23Z zig: nevermind, trump is speaking in 10 minutes 2020-03-14T16:01:19Z zig: for those that understand french, here is *apparantly* a doctor from Paris (France), telling something: https://twitter.com/Harsinoee/status/1238591933922136066 2020-03-14T16:01:38Z zig: basically they are testing only VIP and last stage covid19 2020-03-14T16:02:40Z zig: https://www.whitehouse.gov/live/ 2020-03-14T16:08:10Z izh_ joined #scheme 2020-03-14T16:11:47Z manualcrank quit (Ping timeout: 260 seconds) 2020-03-14T16:12:03Z v_m_v joined #scheme 2020-03-14T16:15:18Z manualcrank joined #scheme 2020-03-14T16:16:55Z v_m_v quit (Ping timeout: 260 seconds) 2020-03-14T16:18:55Z jao joined #scheme 2020-03-14T16:19:49Z pilne quit (Quit: Never underestimate the power of stupid people in large groups.) 2020-03-14T16:21:12Z pilne joined #scheme 2020-03-14T16:24:29Z manualcrank quit (Read error: Connection reset by peer) 2020-03-14T16:25:25Z manualcrank joined #scheme 2020-03-14T16:32:26Z ravndal quit (Ping timeout: 256 seconds) 2020-03-14T16:33:04Z teardown quit (Read error: Connection reset by peer) 2020-03-14T16:33:32Z teardown joined #scheme 2020-03-14T16:34:55Z narendraj9 quit (Ping timeout: 272 seconds) 2020-03-14T16:37:05Z skapata joined #scheme 2020-03-14T16:42:38Z acarrico joined #scheme 2020-03-14T16:49:03Z drakonis joined #scheme 2020-03-14T16:56:26Z civodul joined #scheme 2020-03-14T16:57:07Z kritixilithos quit (Quit: quit) 2020-03-14T16:59:03Z ravndal joined #scheme 2020-03-14T17:06:12Z v_m_v joined #scheme 2020-03-14T17:06:25Z TCZ quit (Quit: Leaving) 2020-03-14T17:09:39Z v_m_v quit (Remote host closed the connection) 2020-03-14T17:24:12Z zig: also, it is not clear what the test change, since there is no vax. 2020-03-14T17:40:33Z izh_ quit (Quit: Leaving) 2020-03-14T17:46:39Z DKordic joined #scheme 2020-03-14T17:54:48Z luni quit (Remote host closed the connection) 2020-03-14T18:01:47Z Naptra quit (Read error: Connection reset by peer) 2020-03-14T18:01:49Z Naptra_ joined #scheme 2020-03-14T18:09:17Z madage quit (Remote host closed the connection) 2020-03-14T18:09:35Z madage joined #scheme 2020-03-14T18:32:35Z v_m_v joined #scheme 2020-03-14T18:51:25Z mdhughes: I'm pretty sure COVID-19 is not written in Scheme. Possibly C. 2020-03-14T18:54:27Z luni joined #scheme 2020-03-14T18:58:10Z edgar-rft: not sure but I think we could ask at www.covid.com 2020-03-14T18:59:48Z narendraj9 joined #scheme 2020-03-14T19:06:57Z v_m_v quit (Remote host closed the connection) 2020-03-14T19:14:38Z webshinra quit (Read error: Connection reset by peer) 2020-03-14T19:47:11Z oxum_ joined #scheme 2020-03-14T19:47:22Z oxum quit (Ping timeout: 256 seconds) 2020-03-14T20:06:32Z bars0 joined #scheme 2020-03-14T20:07:53Z bars0 quit (Client Quit) 2020-03-14T20:08:44Z luni: I have a doubt related to the use of let-values: (let-values ​​([(id-1 id-2 ....) (expr)] ...) body ... +). I don't know in advance the number of identifiers (id-1, id-2 etc.) that will be used to write the body of the let-values ​​expression since the expression that generates them (expr) has a variable number of outputs. I think there is 2020-03-14T20:08:45Z luni: not a way to generate the list of identifiers in advance without executing the expression, since it generates a variable number of outputs every time depending on the input. How is possible to proceed? 2020-03-14T20:10:12Z bars0 joined #scheme 2020-03-14T20:17:03Z seepel joined #scheme 2020-03-14T20:18:10Z luni: ok.. that number is not random since is the number of rows of a matrix represented as a vector or vector, so i could use vector-length to know in advance the number of rows and after generate-temporaries to produce the identifiers 2020-03-14T20:19:52Z oxum joined #scheme 2020-03-14T20:20:39Z oxum_ quit (Ping timeout: 258 seconds) 2020-03-14T20:23:14Z f8l quit (Remote host closed the connection) 2020-03-14T20:24:38Z f8l joined #scheme 2020-03-14T20:27:20Z zaifir: luni: call-with-values might be a way around that. 2020-03-14T20:28:31Z zaifir: (call-with-values (expr-producing-many-values) (lambda ids ...)) 2020-03-14T20:28:53Z zaifir: luni: But then you might as well pass lists around. 2020-03-14T20:29:22Z Riastradh: I think you mean (call-with-values (lambda () (expr-producing-many-values)) (lambda ids ...)), but why would that be different from (let-values ((ids (expr-producing-many-values))) ...)? 2020-03-14T20:29:54Z luni: zaifir i know, i solved a similar problem but this one is slightly different... let me paste just an example of what i'm trying to do 2020-03-14T20:30:09Z luni: Uploaded file: https://uploads.kiwiirc.com/files/eb1e9aca3fac2536dd74eb900265c262/pasted.txt 2020-03-14T20:30:12Z zaifir: Riastradh: Yes, it was a fudgy example. Is that use of let-values standard? 2020-03-14T20:30:31Z zaifir: Ah, yes it is. TIL. 2020-03-14T20:30:54Z luni: this is a particular case for two matrices of six rows each one 2020-03-14T20:31:28Z luni: now i can't figure out how to solve it without introducing temporaries for the identifiers 2020-03-14T20:32:38Z zaifir: luni: I think it might be easier to just use a list. 2020-03-14T20:34:02Z zaifir: luni: If the number of values is variable but always small, you could use a case-lambda form or pattern-matching. 2020-03-14T20:35:28Z luni: i use let-values since i have two expressions that generate values (the rows of each one of the two matrices are variable) and i want to combine them in a set of other values to form another matrix 2020-03-14T20:38:31Z zaifir: luni: You could use Riastradh’s let-values example: (let-values ((rs1 (expr1)) (rs2 (expr2))) ...) to get lists of values. 2020-03-14T20:39:28Z Riastradh: luni: Why are you using multiple values for this purpose? 2020-03-14T20:39:43Z seepel quit (Ping timeout: 255 seconds) 2020-03-14T20:39:53Z zaifir: luni: You can also use something like match-let (https://wiki.call-cc.org/eggref/5/matchable) (most Schemes provide this library, or something like it) 2020-03-14T20:40:49Z luni: Riastradh for me this is just an exercise to understand the use of values and call-with-values (with-values, let-values etc.) 2020-03-14T20:46:02Z ggole quit (Quit: Leaving) 2020-03-14T20:46:06Z narendraj9 quit (Remote host closed the connection) 2020-03-14T20:46:19Z zaifir: That’s definitely a topic I’d like to write a good tutorial on. 2020-03-14T20:46:53Z zaifir: luni: Usually when you get to the point of “I don’t know how many values to expect”, it’s time to consider another approach. 2020-03-14T20:47:41Z luni: i will try with this... (let-values ((ids (expr-producing-many-values))) ...) 2020-03-14T20:47:49Z luni: Thank you all for the help! 2020-03-14T20:48:30Z zaifir: luni: Good luck! 2020-03-14T20:50:30Z seepel joined #scheme 2020-03-14T21:12:42Z terpri quit (Ping timeout: 256 seconds) 2020-03-14T21:17:46Z gravicappa quit (Ping timeout: 258 seconds) 2020-03-14T21:19:23Z Khisanth quit (Ping timeout: 268 seconds) 2020-03-14T21:24:43Z jao quit (Ping timeout: 255 seconds) 2020-03-14T21:32:02Z Khisanth joined #scheme 2020-03-14T21:47:10Z badkins joined #scheme 2020-03-14T21:50:27Z TCZ joined #scheme 2020-03-14T21:59:34Z xlei quit (Ping timeout: 265 seconds) 2020-03-14T22:01:24Z jao joined #scheme 2020-03-14T22:01:36Z jao is now known as Guest35264 2020-03-14T22:02:05Z Guest35264 quit (Remote host closed the connection) 2020-03-14T22:02:41Z jao- joined #scheme 2020-03-14T22:08:08Z seepel quit (Quit: Leaving) 2020-03-14T22:08:18Z jao- quit (Remote host closed the connection) 2020-03-14T22:11:16Z lritter quit (Quit: Leaving) 2020-03-14T22:12:04Z seepel joined #scheme 2020-03-14T22:12:39Z aeth: Accessing multiple values is a very useful non-consing intermediate form ime, but more of something that macros (like pattern matching ones) should be using rather than you directly. 2020-03-14T22:12:59Z jao joined #scheme 2020-03-14T22:13:52Z aeth: At least ime in CL, but I see no reason why the exact same principle shouldn't apply to Scheme, and in fact, I will do so when I write my macros in my Scheme. Decomposing things into multiple values avoids consing up a temporary list or vector or whatever. 2020-03-14T22:14:25Z seepel quit (Read error: Connection reset by peer) 2020-03-14T22:31:13Z xlei joined #scheme 2020-03-14T22:46:13Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-14T22:53:10Z zaifir: aeth: But that temporary list would likely be pretty cheap, from a generational GC perspective, I'd guess. 2020-03-14T22:53:19Z jcowan: Riastradh: Wearing surgical masks is ineffective unless you are already infected, of dubious use if you are, and is creating a shortage for first responders and health workers. 2020-03-14T22:53:51Z seepel joined #scheme 2020-03-14T22:54:55Z badkins quit (Remote host closed the connection) 2020-03-14T22:55:08Z gmaggior quit (Ping timeout: 258 seconds) 2020-03-14T22:55:11Z seepel quit (Read error: Connection reset by peer) 2020-03-14T22:55:19Z jcowan: aeth: No guarantee that multiple values don't cons, however 2020-03-14T22:56:14Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/MultipleValues.md 2020-03-14T22:56:18Z aeth: jcowan: Portably? No. Non-portably? Yes, assuming you keep it reasonably lengthed. My rule of thumb is to limit at 4. 2020-03-14T22:56:47Z aeth: If an implementation is consing at 4 values it's IMO doing something wrong, at least if it expects multiple valued code to be fairly idiomatic... 2020-03-14T22:57:24Z jcowan: In Chibi, multiple values are a list with a particular car; in some systems, it's an object 2020-03-14T22:58:09Z jcowan: In Chicken, of course, everything is CPS-converted, so multiple values are just multiple arguments. 2020-03-14T22:58:34Z aeth: CL actually has a GET-DECODED-TIME in the standard that's very close to a reverse ISO-8601 (not quite, because it handles DST and ISO-8601 just changes your time zone for DST) with 9 values. Idk if any Scheme has something that crazy. 2020-03-14T22:59:18Z aeth: zaifir: And, exactly. Either the implementation handles it efficiently non-consing or it's cheap, anyway, without breaking anything. 2020-03-14T22:59:42Z Naptra_ quit (Remote host closed the connection) 2020-03-14T23:01:45Z Riastradh: jcowan: Wearing surgical masks is effective at preventing _spreading_ it to other people; and the shortage is why I said `if you already have them'. 2020-03-14T23:01:48Z jcowan: btw, what's the status of cl-scheme (sorry, I forget the announced name) 2020-03-14T23:01:58Z aeth: jcowan: Reading your link... Wow, I'm actually kind of surprised that it's close to a 50/50 split for reducing values to 1 value vs. erroring. 2020-03-14T23:02:08Z aeth: jcowan: airship-scheme 2020-03-14T23:02:22Z jcowan: right, of course 2020-03-14T23:02:46Z aeth: jcowan: The status is that I'm working my way down this gigantic macro... https://gitlab.com/zombie-raptor/zombie-raptor/-/blob/e0c710b3c28844d899709df3c3d6cb92f86fd8d0/util/reader-patterns.lisp 2020-03-14T23:02:46Z rudybot: https://teensy.info/4d2vIQwZEl 2020-03-14T23:02:55Z aeth: well, that's the helper functions to the macro 2020-03-14T23:03:11Z aeth: When I'm done, that gives me the tokenizer. 2020-03-14T23:03:30Z aeth: I'll also have to split the util library out of the game engine... 2020-03-14T23:04:46Z aeth: jcowan: Essentially, I will take all of the patterns in a READ-CASE and then process them. I split the patterns recursively into pattern-head and pattern-tail, combining patterns with common pattern-heads until they are all handled... 2020-03-14T23:05:46Z aeth: READ-CASE will build up a string buffer based on the pattern matching result, SUBSEQing at the end to produce a simple string. Then I will collect them all into a list and I get a list of tokens. 2020-03-14T23:06:30Z aeth: At that point, I'll be able to go through and mostly just turn #\( and #\) into recursive lists in a parse tree. 2020-03-14T23:08:37Z jcowan: unfortunately, airship scheme is hard to google 2020-03-14T23:08:40Z gmaggior joined #scheme 2020-03-14T23:08:47Z aeth: The reader, continuations, the global lexical environment, and the foreign CL-into-Scheme calling will be most of the work, the rest practically writes itself. Well, I haven't started on the hygienic macros, yet. I guess after that, I'll probably either move onto trying to get it to run in SLIME, or writing cl-loop. 2020-03-14T23:11:03Z madage quit (Ping timeout: 240 seconds) 2020-03-14T23:11:28Z aeth: CLOS interoperability, Quicklisp interoperability (probably via wrapper files), CL packages (i.e. symbol namespaces), and a CL library (as in, everything that is in CL exposed as one or more libraries, e.g. CL arrays, CL hash tables, etc... Scheme rewriting of Lisp macros, like loop, probably also belong here and would be the vast majority of the work) are long term tasks. 2020-03-14T23:12:00Z terpri joined #scheme 2020-03-14T23:12:33Z madage joined #scheme 2020-03-14T23:13:11Z aeth: Even though the actual base language itself is often trivial (like any cxr basically just being cxr with an extra error if used on nil instead of returning nil), the actual resulting scope is... fairly massive, given that it exists as an interoperability interface between Scheme and CL and thus requires effectively being two languages in size. 2020-03-14T23:17:17Z aeth: Phrased differently, the approach is fairly Chicken-like except that CL has more in common with Scheme than C does, making a lot of things free (GC, the numeric tower, etc.), but the cost of that is that the resulting scope has gotten to the point of being possibly (not sure about how it compares to Racket) the largest Scheme. 2020-03-14T23:17:53Z jcowan: I was thinking about how to implement CL-ish cxr on top of Scheme cxr. It can't be done portably, but if you are able to continue from the relevant domain error, that would be very efficient 2020-03-14T23:18:11Z aos joined #scheme 2020-03-14T23:19:05Z aeth: A lot of my assumptions about how trivial the mapping is are fragile assumptions that will surely be broken when the project is more mature. 2020-03-14T23:20:36Z jcowan: I would hope that the loose nature of R5/R7RS would help in that respect 2020-03-14T23:21:22Z jcowan: there is, after all, no guarantee that (car '()) will not return () 2020-03-14T23:21:42Z aeth: Yes, it's definitely easier to be efficient than CL-on-Scheme because CL is more specified, so a mismatch with a CL-on-Scheme would have to have an efficiency loss, while a mismatch of Scheme-on-CL just has to make a decision that might not be a popular one, but still is permitted 2020-03-14T23:21:43Z oni-on-ion: cxr? compiler? 2020-03-14T23:22:06Z aeth: oni-on-ion: cxr is just a way some people refer to car, cadr, caddr, cadddr, etc. 2020-03-14T23:22:12Z oni-on-ion: ohh, right on 2020-03-14T23:24:35Z nly joined #scheme 2020-03-14T23:27:36Z webshinra joined #scheme 2020-03-14T23:27:55Z hugh_marera quit (Quit: hugh_marera) 2020-03-14T23:31:47Z torbo joined #scheme 2020-03-14T23:32:17Z ngz quit (Ping timeout: 272 seconds) 2020-03-15T00:00:01Z TCZ quit (Quit: Leaving) 2020-03-15T00:10:27Z luni quit (Remote host closed the connection) 2020-03-15T00:16:51Z badkins joined #scheme 2020-03-15T00:26:45Z longshi quit (Ping timeout: 272 seconds) 2020-03-15T00:27:25Z badkins quit (Ping timeout: 255 seconds) 2020-03-15T00:50:16Z TCZ joined #scheme 2020-03-15T00:51:23Z badkins joined #scheme 2020-03-15T00:55:53Z badkins quit (Ping timeout: 258 seconds) 2020-03-15T01:20:02Z oxum quit (Ping timeout: 240 seconds) 2020-03-15T01:21:48Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-03-15T01:24:57Z aeth: jcowan: https://gitlab.com/mbabich/airship-scheme/-/commit/e35f334191ed268ed0e554c5dcfb44af738ba7f5 2020-03-15T01:25:52Z nckx joined #scheme 2020-03-15T01:26:18Z aeth: I'm not sure why it's 94.1% Scheme now... haha. I guess it's interpreting standard-procedures.lisp as Scheme even though I specifically told it to override language detection and interpret .lisp as Common Lisp, anticipating something like this 2020-03-15T01:28:04Z aeth: jcowan: I have the vast majority of the procedures that don't assume Scheme control flow complete in standard-procedures.lisp... well, except the Input/Output part, which I absolutely should be able to do with the host CL's stream stuff afaik. 2020-03-15T01:28:36Z aeth: Of course, there are probably subtle semantic mismatches that I won't have noticed until the testing is complete 2020-03-15T01:30:45Z aeth: Some of the string/character stuff will be complicated by how CL implementations handle Unicode, with some implementations using cl:string-upcase while SBCL does the full Unicode in sb-unicode:uppercase, and a few might not expose that functionality at all... iirc. 2020-03-15T01:34:30Z jcowan: Well, a certain amount of dependency on *features* is a big deal. 2020-03-15T01:35:03Z jcowan: sorry, I mean no big deal! 2020-03-15T01:35:59Z aeth: Right, cl-scheme will essentially work best on SBCL followed by CCL, and have to degrade fairly gracefully on less feature-complete CLs 2020-03-15T01:36:26Z aeth: Unless memory footprint is a concern, SBCL will probably be the ideal host because of the fast speed. 2020-03-15T01:36:26Z jcowan: Is there even a point to running it on anything but sbcl anyway? 2020-03-15T01:37:08Z aeth: Well, CCL has some advantages because it originated as a Mac-first CL a long time ago, so it has some interop with macOS, which I don't happen to use. 2020-03-15T01:37:30Z aeth: But if you wanted to e.g. bridge with ObjectiveC in a non-portable way... it's way easier. 2020-03-15T01:37:59Z aeth: I suppose ABCL could also have a similar argument to be made, but with the JVM, except ABCL is very unpopular and not very extended, so I doubt this will run on ABCL 2020-03-15T01:38:02Z jcowan: Good point. Does it have a better Windows story than SBCL? 2020-03-15T01:38:43Z aeth: SBCL might still warn about potentially not working on Windows. It used to, not too many years ago. It does run fine on Windows in practice, though. It's just a reflection of SBCL's Unix-first mission. 2020-03-15T01:39:08Z jcowan nods 2020-03-15T01:39:39Z aeth: I think SBCL's internal networking library is garbage on Windows, and maybe a few other non-portable things. 2020-03-15T01:39:51Z jcowan: Also with WSL2 going mainstream in the April~May release, native Windows may not matter that much any more, at least for CLIs 2020-03-15T01:40:30Z jcowan: Officially WSL2 doesn't support X, but you can run any X server you like on Windows and all will be fine. 2020-03-15T01:41:29Z balkamos quit (Ping timeout: 272 seconds) 2020-03-15T01:42:04Z gmaggior quit (Quit: Leaving) 2020-03-15T01:42:07Z balkamos joined #scheme 2020-03-15T01:42:47Z aeth: oh no, I was just thinking of non-portable file extensions for airship scheme and the most obvious is off-limits 2020-03-15T01:42:54Z aeth: oh well, I guess I can use .ascm 2020-03-15T01:43:04Z badkins joined #scheme 2020-03-15T01:43:40Z aeth: or even .airship 2020-03-15T01:43:48Z aeth: Actually, .airship might be the way to go 2020-03-15T01:47:46Z badkins quit (Ping timeout: 256 seconds) 2020-03-15T02:04:26Z niklasl joined #scheme 2020-03-15T02:24:12Z TCZ quit (Quit: Leaving) 2020-03-15T02:29:02Z oxum joined #scheme 2020-03-15T02:41:35Z oni-on-ion: .as AirScheme (sorry adobe) 2020-03-15T02:41:53Z oni-on-ion: or, you know, with an added S. 2020-03-15T02:43:03Z seepel joined #scheme 2020-03-15T02:44:13Z oni-on-ion: ah sorry - youve mentioned that. sometimes i read backwards 2020-03-15T02:55:18Z ahungry joined #scheme 2020-03-15T02:57:08Z badkins joined #scheme 2020-03-15T03:04:55Z badkins quit (Remote host closed the connection) 2020-03-15T03:08:58Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T03:09:54Z aeth: oni-on-ion: I figured .as would have name collisions. And .ass (AirShip Scheme) is undesirable for other reasons. 2020-03-15T03:10:19Z aeth: The other reasons being, of course, that "ass" is more frequently an abbreviation for a logical "assertion". 2020-03-15T03:11:18Z aeth: jcowan: I wrote about comparative CL and Scheme in CONTRIBUTING.md since it's kind of required for contributing to a project like the one I'm writing. https://gitlab.com/mbabich/airship-scheme/-/blob/master/CONTRIBUTING.md 2020-03-15T03:11:39Z aeth: jcowan: You're probably one of the few people who can catch mistakes or major omissions, so if you can skim through that, I'd appreciate it 2020-03-15T03:12:51Z mdhughes: Does Airship need its own extension or is it just normal Scheme (.scm or .ss)? Or I suppose .ascm would be unique and less problematic than .ass 2020-03-15T03:12:53Z aeth: Feedback from anyone here would be appreicated, of course. 2020-03-15T03:14:13Z aeth: mdhughes: Simply using .scm or .ss won't be an issue when it's just r7rs, but might become problematic "when" (hah, that might take a while) the full language is released, which will at the very least include a written-in-Scheme version of CL loop macro, which basically requires tools to recognize it. 2020-03-15T03:14:59Z aeth: mdhughes: That (well, not specifically a loop macro) is probably why Racket uses .rkt 2020-03-15T03:16:26Z niklasl joined #scheme 2020-03-15T03:17:23Z Riastradh: It's more a matter of branding for Racket. Their goal is not to be a Scheme implementation; it's to be a multilingual platform for all kinds of applications and experimentation with metalinguistic abstraction, not beholden to, e.g., the Scheme standardization process. 2020-03-15T03:17:42Z Riastradh: Could they have continued to use .ss? Sure, just as they could have continued to call it PLT Scheme. 2020-03-15T03:18:07Z aeth: Riastradh: Well, personally, my goal is to be a ~gigantic spaghetti mess of macros~ language platform 2020-03-15T03:18:23Z aeth: sort of, at least 2020-03-15T03:20:01Z aeth: I would have just hardcoded scheme-read 2 weeks ago if I didn't want something a bit more general than just r7rs 2020-03-15T03:20:45Z Riastradh: Beware of scope creep. In the case of Racket, they'd been at it for some 15 years as PLT Scheme before deciding to expand the scope. 2020-03-15T03:22:36Z aeth: Oh, I'm aware of scope creep. :-) 2020-03-15T03:23:23Z jcowan: I'd say "Don't make assumptions about the extensions of plain code", just standardize library files as .sld (r7) and .sls (r6) 2020-03-15T03:24:05Z jcowan: I use .scm myself, but I've certainly used .ss in the past. 2020-03-15T03:24:23Z jcowan: I'd say that extensions other than these two have no implications about conformance 2020-03-15T03:24:35Z jcowan: any more than .pl or .py or .c do 2020-03-15T03:26:12Z jcowan: On CONTRIBUTING itself 2020-03-15T03:27:32Z jcowan: I'd say must explain the up-to-four-semicolons convention and leave it at that. Scheme really doesn't have different conventions here at all. 2020-03-15T03:27:43Z jcowan: s/must/just 2020-03-15T03:28:44Z jcowan: Scheme programmers (including me) may just be a little less anal about using them, that's all. 2020-03-15T03:29:32Z jcowan: it's not like the -p vs ? convention, which really is different 2020-03-15T03:29:59Z oni-on-ion: edit! 2020-03-15T03:30:08Z jcowan: Also, the $foo convention for constants is unknown to me; I'm not aware that Scheme *has* any consistent convention for them 2020-03-15T03:30:29Z oni-on-ion: earmuffs are bulky 2020-03-15T03:32:36Z niklasl quit (Ping timeout: 256 seconds) 2020-03-15T03:33:55Z aeth: jcowan: I got the $foo convention from cliki, where the rest of the information is accurate. 2020-03-15T03:34:00Z aeth: jcowan: For all I know that's not. 2020-03-15T03:34:13Z jcowan: URL? 2020-03-15T03:34:59Z aeth: jcowan: https://www.cliki.net/Naming+conventions 2020-03-15T03:35:18Z aeth: It's mostly mentioning Scheme to contrast with CL 2020-03-15T03:36:16Z jcowan: All I can say is, I don't know where CLiki got that convention either 2020-03-15T03:36:21Z jcowan: I'd take it out 2020-03-15T03:36:24Z aeth: OK 2020-03-15T03:36:42Z aeth: Scheme Wiki's search is broken so I don't know if it has a page on it 2020-03-15T03:39:33Z aeth: jcowan: I think I'll rephrase the contrasting part to "Scheme mostly shares the same styles for s-expressions and comments as Common Lisp, but Schemers don't always insist on using `;;;`." 2020-03-15T03:40:48Z klovett quit (Ping timeout: 265 seconds) 2020-03-15T03:45:03Z klovett joined #scheme 2020-03-15T03:45:26Z niklasl joined #scheme 2020-03-15T03:53:36Z _apg joined #scheme 2020-03-15T03:56:13Z seepel quit (Read error: Connection reset by peer) 2020-03-15T03:56:42Z seepel joined #scheme 2020-03-15T04:08:51Z niklasl quit (Ping timeout: 240 seconds) 2020-03-15T04:11:09Z niklasl joined #scheme 2020-03-15T04:11:45Z seepel quit (Read error: Connection reset by peer) 2020-03-15T04:12:16Z lavaflow quit (Ping timeout: 256 seconds) 2020-03-15T04:19:54Z lavaflow joined #scheme 2020-03-15T04:21:06Z ArneBab_ quit (Ping timeout: 256 seconds) 2020-03-15T04:21:26Z ArneBab joined #scheme 2020-03-15T04:21:26Z ArneBab quit (Changing host) 2020-03-15T04:21:26Z ArneBab joined #scheme 2020-03-15T04:28:10Z niklasl quit (Ping timeout: 265 seconds) 2020-03-15T04:30:06Z jao quit (Ping timeout: 265 seconds) 2020-03-15T04:44:05Z niklasl joined #scheme 2020-03-15T05:01:00Z gravicappa joined #scheme 2020-03-15T05:05:26Z badkins joined #scheme 2020-03-15T05:07:17Z moon-child is now known as AlexaBot 2020-03-15T05:07:22Z AlexaBot is now known as moon-child 2020-03-15T05:10:04Z badkins quit (Ping timeout: 256 seconds) 2020-03-15T05:24:54Z liulanghaitun joined #scheme 2020-03-15T05:25:56Z niklasl quit (Ping timeout: 268 seconds) 2020-03-15T05:40:53Z drakonis quit (Ping timeout: 272 seconds) 2020-03-15T05:44:46Z niklasl joined #scheme 2020-03-15T06:19:46Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T06:23:40Z ahungry quit (Remote host closed the connection) 2020-03-15T06:24:06Z niklasl joined #scheme 2020-03-15T06:58:18Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-15T06:58:24Z skapata quit (Remote host closed the connection) 2020-03-15T07:14:48Z klovett quit (Remote host closed the connection) 2020-03-15T07:15:23Z klovett joined #scheme 2020-03-15T07:23:18Z xelxebar_ quit (Remote host closed the connection) 2020-03-15T07:24:51Z xelxebar joined #scheme 2020-03-15T07:26:22Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T07:27:21Z kritixilithos joined #scheme 2020-03-15T07:33:21Z niklasl joined #scheme 2020-03-15T07:34:30Z hugh_marera joined #scheme 2020-03-15T07:38:57Z torbo quit (Remote host closed the connection) 2020-03-15T07:49:19Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T08:01:03Z niklasl joined #scheme 2020-03-15T08:09:04Z mdhughes: Another thing is, generally you don't need loop macros in Scheme. I have a (for (i 0 9) ...) macro, but it's only used for purely numeric ranges in grids and such. Everywhere else named let is sufficient. 2020-03-15T08:10:06Z mdhughes: (or recursion into the same function, same thing.) 2020-03-15T08:14:09Z mdhughes: TSPL says "Multiple comment characters are often used to set off the latter kind of comment, e.g., ;;; The following procedures ...." but I've rarely seen consistency in library code I've read. 2020-03-15T08:14:48Z niklasl quit (Ping timeout: 256 seconds) 2020-03-15T08:16:37Z luni joined #scheme 2020-03-15T08:17:11Z aeth: heh, generally, no 2020-03-15T08:17:11Z hugh_marera quit (Read error: Connection reset by peer) 2020-03-15T08:17:39Z aeth: I went years without using LOOP in CL, either. You only really miss it when you need collect 2020-03-15T08:17:43Z aeth: especially conditional collect 2020-03-15T08:18:02Z aeth: Except it's really useful for some really, really complicated iterations 2020-03-15T08:22:50Z gravicappa joined #scheme 2020-03-15T08:24:45Z luni: yes basically yesterday i was trying to avoid looping constructs as much is possible for some simple operations involving matrices, for example now i have a completely loop-free procedure to do a thing like this: (numpy.sum(numpy.abs(p[:]) - numpy.abs(pn[:])) / numpy.sum(numpy.abs(pn[:]))). Anyway i still don't know if this is advantageous in terms 2020-03-15T08:24:46Z luni: of time 2020-03-15T08:30:19Z wasamasa: worry about it when it actually turns out to be a problem 2020-03-15T08:30:23Z wasamasa: then it's easier to optimize 2020-03-15T08:54:32Z aeth: Anyway, ime I can come up with some clever ways to avoid iterating macros, but then I won't be able to read it next week (I'll just have to trust it) and really, what it does is what matters, not how it's written 2020-03-15T08:54:40Z aeth: It's a good exercise, though 2020-03-15T08:56:04Z aeth: It starts simple enough like having a closure capturing an integer in a map because you do need the integer number too. Before you know it, you're deep in the internal representation of conses, or you're just having half your results be NIL and filtering them afterward or something. :p 2020-03-15T08:58:23Z niklasl joined #scheme 2020-03-15T08:59:51Z aeth: But it basically ends with extracting patterns and... turning them into iterating macros. 2020-03-15T09:03:15Z aeth: (I guess maybe some people are so opposed to doing that that they'd use higher order functions instead no matter what.) 2020-03-15T09:04:00Z dmiles quit 2020-03-15T09:06:11Z badkins joined #scheme 2020-03-15T09:06:52Z aeth: (And, yes, most Schemes don't have nil bound to the empty list, but it doesn't have a good way to write about it, either. '() is weird) 2020-03-15T09:10:46Z badkins quit (Ping timeout: 258 seconds) 2020-03-15T09:16:31Z dmiles joined #scheme 2020-03-15T09:17:03Z niklasl quit (Ping timeout: 260 seconds) 2020-03-15T09:23:28Z luni quit (Remote host closed the connection) 2020-03-15T09:27:11Z mdhughes: null, since (null? '()) => #t 2020-03-15T09:29:27Z aeth: Well, (null? foo) is just (null foo) from historic lisps (and still in CL) 2020-03-15T09:29:41Z nilg joined #scheme 2020-03-15T09:29:47Z aeth: it looks like Racket does have null bound to return '() at least in the REPL, though 2020-03-15T09:53:31Z aeth: I guess both names null and nil are valid, depending on the context, with null a bit Schemier 2020-03-15T10:00:46Z niklasl joined #scheme 2020-03-15T10:09:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-15T10:14:27Z niklasl quit (Ping timeout: 240 seconds) 2020-03-15T10:46:14Z longshi joined #scheme 2020-03-15T10:48:04Z luni joined #scheme 2020-03-15T10:51:46Z niklasl joined #scheme 2020-03-15T11:05:48Z v_m_v joined #scheme 2020-03-15T11:08:26Z retropikzel joined #scheme 2020-03-15T11:17:49Z luni quit (Remote host closed the connection) 2020-03-15T11:26:21Z retropikzel quit (Remote host closed the connection) 2020-03-15T11:27:00Z retropikzel joined #scheme 2020-03-15T11:29:38Z niklasl quit (Ping timeout: 240 seconds) 2020-03-15T11:30:51Z lritter joined #scheme 2020-03-15T11:42:28Z kritixilithos joined #scheme 2020-03-15T11:48:29Z ggole joined #scheme 2020-03-15T11:52:35Z retropikzel quit (Quit: Leaving) 2020-03-15T11:59:29Z f8l quit (Remote host closed the connection) 2020-03-15T12:00:47Z f8l joined #scheme 2020-03-15T12:01:06Z niklasl joined #scheme 2020-03-15T12:04:55Z daviid quit (Ping timeout: 268 seconds) 2020-03-15T12:16:37Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T12:20:20Z xlei quit (Ping timeout: 268 seconds) 2020-03-15T12:23:03Z retropikzel joined #scheme 2020-03-15T12:30:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-15T12:32:27Z xlei joined #scheme 2020-03-15T12:34:22Z johncob joined #scheme 2020-03-15T12:36:20Z johncob_ quit (Ping timeout: 265 seconds) 2020-03-15T12:47:39Z X-Scale` joined #scheme 2020-03-15T12:48:46Z gmaggior joined #scheme 2020-03-15T12:49:01Z X-Scale quit (Ping timeout: 255 seconds) 2020-03-15T12:49:01Z X-Scale` is now known as X-Scale 2020-03-15T12:49:26Z liulanghaitun quit (Remote host closed the connection) 2020-03-15T12:50:22Z TCZ joined #scheme 2020-03-15T12:52:26Z niklasl joined #scheme 2020-03-15T12:56:28Z kritixilithos joined #scheme 2020-03-15T12:56:52Z v_m_v quit (Remote host closed the connection) 2020-03-15T13:04:13Z longshi quit (Quit: WeeChat 2.7.1) 2020-03-15T13:06:07Z niklasl quit (Ping timeout: 255 seconds) 2020-03-15T13:07:51Z IstiCusi joined #scheme 2020-03-15T13:07:59Z phwalkr joined #scheme 2020-03-15T13:12:54Z Tirifto joined #scheme 2020-03-15T13:24:16Z luni joined #scheme 2020-03-15T13:29:03Z siraben quit (Ping timeout: 245 seconds) 2020-03-15T13:29:17Z siraben joined #scheme 2020-03-15T13:58:19Z phwalkr quit 2020-03-15T13:59:10Z jao joined #scheme 2020-03-15T13:59:20Z klovett quit (Remote host closed the connection) 2020-03-15T13:59:37Z klovett joined #scheme 2020-03-15T14:10:54Z lucasb joined #scheme 2020-03-15T14:12:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-15T14:18:19Z gravicappa quit (Ping timeout: 265 seconds) 2020-03-15T14:20:51Z kritixilithos joined #scheme 2020-03-15T14:35:26Z retropikzel quit (Read error: Connection reset by peer) 2020-03-15T14:35:40Z retropikzel joined #scheme 2020-03-15T14:44:30Z sarna_ joined #scheme 2020-03-15T14:48:05Z sarna quit (Ping timeout: 272 seconds) 2020-03-15T14:48:05Z sarna_ is now known as sarna 2020-03-15T14:51:49Z badkins joined #scheme 2020-03-15T14:56:30Z badkins quit (Ping timeout: 265 seconds) 2020-03-15T14:57:00Z TCZ quit (Quit: Leaving) 2020-03-15T15:19:56Z retropikzel quit (Read error: Connection reset by peer) 2020-03-15T15:20:18Z retropikzel joined #scheme 2020-03-15T15:56:15Z retropikzel quit (Quit: Leaving) 2020-03-15T15:56:25Z retropikzel joined #scheme 2020-03-15T16:07:37Z hugh_marera joined #scheme 2020-03-15T16:08:49Z badkins joined #scheme 2020-03-15T16:11:54Z drakonis joined #scheme 2020-03-15T16:25:38Z civodul joined #scheme 2020-03-15T16:41:16Z skapata joined #scheme 2020-03-15T16:44:44Z nchambers quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-03-15T16:44:56Z nchambers joined #scheme 2020-03-15T16:49:54Z zig: full confinement will be announced in france. Rumor says it is worse that WWII crisis in terms of finance. 2020-03-15T16:57:05Z kritixilithos quit (Quit: quit) 2020-03-15T16:57:47Z retropikzel quit (Remote host closed the connection) 2020-03-15T16:58:07Z retropikzel joined #scheme 2020-03-15T16:59:09Z kritixilithos joined #scheme 2020-03-15T17:01:22Z zig: I added "in terms of finance" to be optimistic. 2020-03-15T17:02:24Z kritixil1 joined #scheme 2020-03-15T17:04:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-15T17:05:20Z retropikzel quit (Remote host closed the connection) 2020-03-15T17:05:41Z retropikzel joined #scheme 2020-03-15T17:07:45Z kritixilithos joined #scheme 2020-03-15T17:10:23Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-15T17:17:33Z kritixil1 joined #scheme 2020-03-15T17:17:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-15T17:51:48Z hugh_marera quit (Quit: hugh_marera) 2020-03-15T18:02:31Z skapata quit (Remote host closed the connection) 2020-03-15T18:03:33Z skapata joined #scheme 2020-03-15T18:06:53Z skapata quit (Remote host closed the connection) 2020-03-15T18:07:11Z torbo joined #scheme 2020-03-15T18:07:47Z skapata joined #scheme 2020-03-15T18:08:23Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-15T18:23:42Z klovett quit 2020-03-15T18:24:54Z klovett joined #scheme 2020-03-15T18:26:58Z retropikzel quit (Quit: Leaving) 2020-03-15T18:39:16Z Adso_of_Jelq quit (*.net *.split) 2020-03-15T18:39:16Z tumdum quit (*.net *.split) 2020-03-15T18:39:30Z Adso_of_Jelq joined #scheme 2020-03-15T18:39:53Z tumdum joined #scheme 2020-03-15T18:39:53Z tumdum quit (Changing host) 2020-03-15T18:39:53Z tumdum joined #scheme 2020-03-15T18:40:18Z nilg quit (Remote host closed the connection) 2020-03-15T18:43:29Z nilg joined #scheme 2020-03-15T18:45:57Z daviid joined #scheme 2020-03-15T18:51:28Z nilg quit (Remote host closed the connection) 2020-03-15T19:08:52Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-15T19:22:49Z gravicappa joined #scheme 2020-03-15T19:35:30Z seepel joined #scheme 2020-03-15T19:36:31Z Urfin quit (*.net *.split) 2020-03-15T19:36:31Z DeeEff_ quit (*.net *.split) 2020-03-15T19:36:31Z fgudin quit (*.net *.split) 2020-03-15T19:36:31Z foof quit (*.net *.split) 2020-03-15T19:36:31Z ByronJohnson quit (*.net *.split) 2020-03-15T19:36:37Z foof joined #scheme 2020-03-15T19:36:39Z DeeEff_ joined #scheme 2020-03-15T19:36:42Z fgudin_ joined #scheme 2020-03-15T19:36:44Z ByronJohnson joined #scheme 2020-03-15T19:36:46Z Urfin joined #scheme 2020-03-15T20:06:19Z luni quit (Remote host closed the connection) 2020-03-15T20:14:17Z zig: no full confinement in France as of yet. 2020-03-15T20:18:49Z Lysandros: perhaps they should learn from leurs voisins; things aren't magically solving themselves anywhere 2020-03-15T20:21:34Z zig: I am lost. 2020-03-15T20:21:52Z zig: maybe it is a 2020-03-15T20:22:54Z zig: maybe it is a psycological strategy to avoid panic. But my "voisins" are already in panic. helicopter are doing rounds. 2020-03-15T20:23:53Z Lysandros: spain is taking extreme measures that a week ago would've seemed insane and today they're all "like, should'd ve probably done that a week ago or so" 2020-03-15T20:24:04Z Lysandros: *like, " 2020-03-15T20:30:15Z Blkt quit (*.net *.split) 2020-03-15T20:30:15Z rbarraud quit (*.net *.split) 2020-03-15T20:30:15Z lbtjp quit (*.net *.split) 2020-03-15T20:30:15Z jackhill quit (*.net *.split) 2020-03-15T20:30:15Z pinoaffe quit (*.net *.split) 2020-03-15T20:30:15Z eagleflo quit (*.net *.split) 2020-03-15T20:30:15Z drot quit (*.net *.split) 2020-03-15T20:30:15Z abbe quit (*.net *.split) 2020-03-15T20:30:26Z eagleflo joined #scheme 2020-03-15T20:30:26Z abbe joined #scheme 2020-03-15T20:30:30Z Blkt joined #scheme 2020-03-15T20:30:35Z jackhill joined #scheme 2020-03-15T20:30:40Z lbtjp joined #scheme 2020-03-15T20:31:44Z pinoaffe joined #scheme 2020-03-15T20:35:59Z zaifir: Don't Panic! 2020-03-15T20:36:24Z zaifir: Douglas Adams's advice continues to be good. Anyway, there's lots of Scheming to do. 2020-03-15T20:43:31Z ggole quit (Quit: Leaving) 2020-03-15T20:52:18Z badkins quit (Remote host closed the connection) 2020-03-15T20:52:51Z badkins joined #scheme 2020-03-15T20:58:16Z IstiCusi quit (Quit: WeeChat 2.2) 2020-03-15T21:05:23Z izh_ joined #scheme 2020-03-15T21:08:56Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-15T21:30:47Z luni joined #scheme 2020-03-15T21:36:06Z TCZ joined #scheme 2020-03-15T22:02:36Z zig: Lysandros: I think you know what France think of Spain and Italy. 2020-03-15T22:05:59Z jcowan: Writing code that loops over vectors with naned-let is quite annoying, mparticularly since there is no named let*. 2020-03-15T22:06:16Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-15T22:06:55Z aeth: zaifir: panic only a little bit 2020-03-15T22:07:36Z aeth: The degree to panic is inversely correlated with the degree to which everyone else panics. If no one is worried, then it will quickly spread exponentially due to contact. If everyone panics, then there's no reason to panic because no one is spreading it to anyone else and the virus is gone in a month 2020-03-15T22:08:37Z zaifir: aeth: concern ≠ panic 2020-03-15T22:08:45Z zaifir: aeth: Panic is never helpful. 2020-03-15T22:09:09Z aeth: jcowan: CL's loop isn't perfect for vectors, either. There's no vector-equivalent for :collect so you have to allocate a vector, and either know the size up front and set the index (tracking the index, too) or allocate an adjustable vector and vector-push-extend each iteration 2020-03-15T22:10:03Z aeth: Not quite as bad as having to manually build a list, though. 2020-03-15T22:10:22Z jcowan: That's part of why I like SRFI 42 2020-03-15T22:10:42Z jcowan: say what you want to collect (possiby nothing), then specify some loop generators and an expression to combine them 2020-03-15T22:10:59Z lritter quit (Remote host closed the connection) 2020-03-15T22:11:20Z aeth: With CL's loop you can recursively build up a list with a loop conditional and if it's the top level of the recursion then you collect and else you recurse and append. That's pretty hard to do from first principles, but it's just something like (loop :for ... :if ... :collect (foo ...) :else :append (bar ...)) 2020-03-15T22:12:48Z aeth: You can also do the following if you want the parent to collect and also append the recursion: :collect (foo ...) :if ... :append (recurse-here ...) 2020-03-15T22:13:29Z zaifir: The annoying thing about building vectors is the make-vector/loop/vector-set! dance. 2020-03-15T22:13:38Z zaifir: You can't just cons 'em up. 2020-03-15T22:14:27Z aeth: (defun foo (l) (loop :for x :in l :collect x :if (listp x) :append (foo x))) (foo '(1 2 3 (4 5 6) 7)) => (1 2 3 (4 5 6) 4 5 6 7) 2020-03-15T22:14:35Z zaifir: vector-tabulate is a good idea, but not in SRFI 43, IIRC. Easy to roll up with vector-unfold, though. 2020-03-15T22:15:03Z aeth: I'm used to the kind of complicated list-building that LOOP offers, so I'm obviously going to write my own Scheme loop as one of the first custom macros 2020-03-15T22:16:44Z aeth: loop's flaws (besides being mostly list-oriented rather than offering vector-builders) are: (1) it's not parenthesized, (2) its list destructuring is basic instead of a full destructuring-bind, (3) it has no multiple value bind... and I've run into issues with all of those. 2020-03-15T22:17:25Z jcowan: zaifir: vector-tabulate is a trivial version of vector-unfold, because vector-unfold unfolds exactly k times rather than until the stop predicate is true. 2020-03-15T22:17:26Z aeth: But even with all of that being said, I wouldn't enter complicated macro territory (I'm talking thousands of lines) without having LOOP 2020-03-15T22:17:33Z zaifir: I'm firmly of the opinion now that you can advantageously replace loop constructs (named let, etc.) with higher-order traversal functions. Loops tend to hide useful patterns (e.g. hylo/metamorphisms) that can be replaced with simple functions. 2020-03-15T22:17:53Z zaifir: jcowan: Right. 2020-03-15T22:18:04Z jcowan: yeah, we were both writing at the same time 2020-03-15T22:18:20Z aeth: zaifir: Imo... There are three kinds of Lispers, and it's not a mutually exclusive category (you can even build a macro on top of higher order functions or vice versa) 2020-03-15T22:19:09Z aeth: zaifir: Type I prefers macros and compile-time (could be a bytecode compile) operations. Type II prefers higher order functions. Type III wants ultra-dynamic OOP in an almost Pythonic/Rubyist way. 2020-03-15T22:19:26Z aeth: Now, Type III is mostly captured by Common Lisp because of CLOS, but the others are comfortable anywhere. 2020-03-15T22:19:46Z aeth: And, of course, they're all equally expressive, although potentially runtime when it could be compile time, especially with most OOP systems. 2020-03-15T22:21:12Z zaifir: aeth: The nice thing of course is that you can take any of those approaches in Scheme or CL. 2020-03-15T22:21:41Z aeth: Right, CL and Scheme aren't dogmatic, although Scheme's a bit more dogmatic than CL. Most new languages, including new Lisps, are dogmatic. 2020-03-15T22:26:25Z aeth: I suppose there's a Type IV, the one who does logical programming and similar things, but how many MiniKanren users are there? 2020-03-15T22:26:53Z zaifir: Yeah, I was thinking of that. It's probably a small crowd. I love mK, but haven't had much chance to use it. 2020-03-15T22:28:09Z aeth: For the most part, the "write your own language" crowd is using macros and so is (at least partially) in the Type I camp, anyway. 2020-03-15T22:29:31Z zaifir: I find the idea of a ‘macro camp’ a little odd, I guess. Unless we're really talking syntax-level computation, those macros eventually have to expand to something. 2020-03-15T22:30:02Z aeth: Unrelatedly, it looks like there's a new subreddit on reddit that's Lisp-related. https://old.reddit.com/r/lispadvocates/ 2020-03-15T22:31:03Z aeth: zaifir: If properly-abstracted, it doesn't matter to you what the macros expand to. For all you know, it's generating a string of some other source code and running that program's compiler. Or directly writing asm. Or anything else. 2020-03-15T22:31:48Z zaifir: aeth: That's basically just a compiler with zero error-checking, then. 2020-03-15T22:32:50Z zaifir: What I find beautiful about macros is the ability to write something like miniKanren’n 2020-03-15T22:32:54Z zaifir: Oops. 2020-03-15T22:33:31Z zaifir: *miniKanren’s ‘run’, which basically pulls together a bunch of functions but presents what’s essentially a new language. 2020-03-15T22:33:42Z zaifir: A little syntax goes a long way, I guess. 2020-03-15T22:34:35Z zaifir: Haskell’s ‘do’ is another great example. 2020-03-15T22:37:49Z aeth: zaifir: But, anyway, the idea isn't how it's implemented, it's the API you expose. A macro/language-oriented one, a higher-order-function-oriented one, or an object-oriented one. 2020-03-15T22:38:35Z aeth: E.g. a loop/iteration macro vs. a set of procedures in the style of map/reduce vs. OO iterators. 2020-03-15T22:39:39Z zaifir: The API for what, though? 2020-03-15T22:39:44Z aeth: anything 2020-03-15T22:40:01Z aeth: r7rs-small is solidly Type II. You have a few macros like the do macro, but they're very optional. And there's no Type III at all in r7rs 2020-03-15T22:41:13Z zaifir: It seems like many, maybe most, Scheme libraries expose a few macros. I guess there are some heavily OO ones out there. 2020-03-15T22:41:15Z aeth: I guess let is Type I thinking because real Type II programmers would just use lambdas. ((lambda (x y z) ...) 1 2 3) instead of (let ((x 1) (y 2) (z 3)) ...) 2020-03-15T22:41:40Z aeth: Frequently, the procedural approach puts things in the "wrong" place 2020-03-15T22:41:53Z zaifir: But the majority just expose a lot of functions, which are the soul of Lisp, I guess. 2020-03-15T22:45:38Z zaifir: Hah, “real functional programmers just write untyped λ-calculus”. 2020-03-15T22:46:15Z zaifir: Sort of like the functional version of Mel, the Real Programmer. 2020-03-15T22:48:27Z Lysandros: Lysandros: I think you know what France think of Spain and Italy. 2020-03-15T22:48:28Z Lysandros: :'( 2020-03-15T22:48:44Z Lysandros: haha 2020-03-15T23:01:23Z badkins quit (Remote host closed the connection) 2020-03-15T23:05:47Z badkins joined #scheme 2020-03-15T23:27:49Z evhan` quit (Quit: De IRC non curat rex...) 2020-03-15T23:28:02Z evhan joined #scheme 2020-03-15T23:28:48Z izh_ quit (Quit: Leaving) 2020-03-15T23:30:47Z zaifir: I'm starting to work on the Scheme wikibook. What implementation would people suggest for (really basic) examples, e.g. how to run a REPL or compile a file? Preferably something that cross-platform, so that readers don't have to go dig up another Scheme for their system. 2020-03-15T23:31:17Z zaifir: s/that/that's/ 2020-03-15T23:31:59Z zaifir: Currently, the “Using an interpreter” page is all but useless https://en.wikibooks.org/wiki/Scheme_Programming/Using_a_Scheme_interpreter 2020-03-15T23:33:11Z zaifir: It uses SCM, at the moment, but doesn't provide a link. 2020-03-15T23:37:59Z badkins quit (Remote host closed the connection) 2020-03-15T23:45:28Z Riastradh: zaifir: If the exclusion of vector-tabulate was intentional, it was probably because you can use vector-unfold instead. But there's a better option (and better than doing anything with SRFI 43): https://mumble.net/~campbell/tmp/nested-foof-loop.scm, collect-vector (or collect-vector-of-length) 2020-03-15T23:45:52Z aeth: zaifir: I mean, are you really asking for *my* input on what implementation to recommend? :-) 2020-03-15T23:46:58Z zaifir: aeth: Yes. But you've got to publish airship-scheme before anyone can use it! 2020-03-15T23:46:59Z badkins joined #scheme 2020-03-15T23:47:28Z aeth: zaifir: Well, yes, my recommendation would be to wait a few weeks. :-p 2020-03-15T23:47:36Z aeth: No particular reason! :-p 2020-03-15T23:48:15Z zaifir: aeth: It's going to take at least a few weeks, and probably more than just my efforts. This book is a mess, IMHO. 2020-03-15T23:48:43Z zaifir: Riastradh: I like foof-loop! I also like building vectors with higher-order functions. 2020-03-15T23:48:53Z aeth: scm lol 2020-03-15T23:48:55Z aeth: like what 2020-03-15T23:48:57Z aeth: what even 2020-03-15T23:49:47Z badkins quit (Remote host closed the connection) 2020-03-15T23:51:02Z jcowan: HOFs are good, and so is the pair of SRFI 158 procedures make-for-each-generator and generator-unfold. 2020-03-15T23:51:19Z zaifir: From the “A Taste Of Scheme” page, the derivative example: “This is a fully fledged Scheme program which again evaluate to #, don't try to understand how it works yet, it's rather complex for the uninitiated...” 2020-03-15T23:51:48Z jcowan: When it comes to macro programming, I'm fine with a bit of it, but when it comes to whole new languages I'd rather write outboard compilers. 2020-03-15T23:53:17Z aeth: heh, my 2008 Wikipedia account still exists. Last edit in 2013. 2020-03-15T23:53:25Z aeth: oh wow that password is insecure... 2020-03-15T23:53:42Z aeth: 2008 was a different time on the internet 2020-03-15T23:56:02Z aeth: I was probably auto-logged-out at some point in like 2015 or 2016 and stopped caring... 2020-03-15T23:56:50Z zaifir: (Hah, it's even worse, because the derivative example returns a procedure, not #, whatever that is.) OK, I'm rewriting that page post-haste. It might even drive people away from Scheme in its current form. 2020-03-15T23:57:36Z gmaggior quit (Quit: Leaving) 2020-03-15T23:58:59Z badkins joined #scheme 2020-03-16T00:01:36Z badkins quit (Remote host closed the connection) 2020-03-16T00:02:06Z badkins joined #scheme 2020-03-16T00:04:06Z badkins quit (Remote host closed the connection) 2020-03-16T00:05:49Z TCZ quit (Quit: Leaving) 2020-03-16T00:10:12Z badkins joined #scheme 2020-03-16T00:22:18Z luni quit (Remote host closed the connection) 2020-03-16T00:54:00Z badkins quit (Remote host closed the connection) 2020-03-16T01:01:14Z badkins joined #scheme 2020-03-16T01:03:36Z amnesia101101[m] joined #scheme 2020-03-16T01:04:36Z TCZ joined #scheme 2020-03-16T01:05:56Z badkins quit (Remote host closed the connection) 2020-03-16T01:19:24Z lockywolf joined #scheme 2020-03-16T01:37:12Z torbo quit (Remote host closed the connection) 2020-03-16T01:44:35Z badkins joined #scheme 2020-03-16T01:48:52Z badkins quit (Ping timeout: 256 seconds) 2020-03-16T02:06:22Z niklasl joined #scheme 2020-03-16T02:15:20Z seepel quit (Quit: Leaving) 2020-03-16T02:24:50Z niklasl quit (Ping timeout: 240 seconds) 2020-03-16T02:30:46Z niklasl joined #scheme 2020-03-16T02:31:14Z badkins joined #scheme 2020-03-16T02:35:35Z badkins quit (Ping timeout: 246 seconds) 2020-03-16T02:35:43Z Tirifto quit (Quit: Leaving.) 2020-03-16T02:39:50Z TCZ quit (Quit: Leaving) 2020-03-16T02:45:40Z niklasl quit (Ping timeout: 246 seconds) 2020-03-16T02:51:45Z niklasl joined #scheme 2020-03-16T03:07:07Z niklasl quit (Ping timeout: 250 seconds) 2020-03-16T03:12:50Z brendyyn quit (Ping timeout: 240 seconds) 2020-03-16T03:14:05Z niklasl joined #scheme 2020-03-16T03:20:21Z mdhughes: zaifir:: Chez, Chicken, and Guile run just about anywhere. Chez has a fantastic REPL. Chicken's REPL sucks until you install breadline and turn it on in .csirc, then it's just mediocre. Guile has a usable REPL (I don't use GNU software if I can avoid it, but it's an option). 2020-03-16T03:20:59Z mdhughes: Most other Schemes either have hard getting-starting environments like MIT/Scheme, or aren't very cross-platform. 2020-03-16T03:21:32Z mdhughes: Oh, Gauche runs everywhere and has an OK REPL. 2020-03-16T03:28:47Z niklasl quit (Ping timeout: 246 seconds) 2020-03-16T03:43:05Z niklasl joined #scheme 2020-03-16T04:01:02Z niklasl quit (Quit: Nettalk6 - www.ntalk.de) 2020-03-16T04:05:13Z niklasl joined #scheme 2020-03-16T04:10:25Z m1dnight1 quit (Ping timeout: 258 seconds) 2020-03-16T04:11:47Z m1dnight1 joined #scheme 2020-03-16T04:12:40Z badkins joined #scheme 2020-03-16T04:14:43Z m1dnight1 quit (Read error: Connection reset by peer) 2020-03-16T04:15:11Z m1dnight1 joined #scheme 2020-03-16T04:15:30Z badkins quit (Remote host closed the connection) 2020-03-16T04:19:43Z pilne quit (Quit: Now if you will excuse me, I have a giant ball of oil to throw out my window) 2020-03-16T04:21:38Z niklasl quit (Ping timeout: 240 seconds) 2020-03-16T04:53:03Z aeth quit (Ping timeout: 260 seconds) 2020-03-16T04:54:41Z aeth joined #scheme 2020-03-16T05:11:20Z gravicappa joined #scheme 2020-03-16T05:13:53Z rbarraud joined #scheme 2020-03-16T05:14:51Z rbarraud: hi zig 2020-03-16T05:15:00Z rbarraud: What are the helicopters doing ? 2020-03-16T05:15:36Z nly quit (Remote host closed the connection) 2020-03-16T05:25:42Z skapata quit (Quit: Ĝis!) 2020-03-16T05:40:50Z jao quit (Ping timeout: 240 seconds) 2020-03-16T05:44:39Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-16T05:59:51Z montxero joined #scheme 2020-03-16T06:16:44Z enderby joined #scheme 2020-03-16T06:26:14Z wasamasa: mdhughes: what more do you expect beyond readline editing, scheme completion and history? 2020-03-16T06:27:20Z mdhughes: Yes, and syntax-aware editing, not just "insert chars here". Try Chez's editor. 2020-03-16T06:27:53Z wasamasa: I'd prefer if you could explain me what exactly is there 2020-03-16T06:28:12Z wasamasa: I've heard the same suggestion before and can't help but think that some people can't be arsed to put what they like into words 2020-03-16T06:28:15Z mdhughes: Edwin in MIT/Scheme is a pain in the ass to learn, but it's powerful… but the learning curve is steep. 2020-03-16T06:28:30Z wasamasa: you want a full editor in there? 2020-03-16T06:28:33Z wasamasa: paredit? 2020-03-16T06:28:47Z wasamasa: fish-style bells and whistles? 2020-03-16T06:29:08Z mdhughes: I can't be arsed to repeat the manual. https://cisco.github.io/ChezScheme/csug9.5/use.html#./use:h2 2020-03-16T06:29:15Z mdhughes: And https://cisco.github.io/ChezScheme/csug9.5/debug.html#./debug:h0 2020-03-16T06:30:10Z mdhughes: Most of an editor, yes. If that's the primary interface I talk to a language for exploration and testing, I want it to be as capable as the editor I use for longer code. 2020-03-16T06:30:37Z wasamasa: yeah, no, I don't see that happening with the readline library 2020-03-16T06:30:38Z mdhughes: When I code Python, I mostly use IDLE. When I code Julia, their REPL's nearly as good. 2020-03-16T06:30:49Z wasamasa: sure, it may have a vi mode and can spawn an external editor 2020-03-16T06:31:03Z mdhughes: Right. I'm not recommending the use of readline if you can write something better. 2020-03-16T06:31:39Z mdhughes: csi+breadline is a bare minimum tolerable situation; the default is ridiculous. 2020-03-16T06:31:46Z aeth quit (Ping timeout: 246 seconds) 2020-03-16T06:32:26Z wasamasa: funny definition of bare minimum you've got there 2020-03-16T06:32:41Z wasamasa: ever tried rlwrap with sbcl? 2020-03-16T06:33:01Z mdhughes: "tolerable" 2020-03-16T06:33:18Z mdhughes: One of many reasons I don't use LISP. 2020-03-16T06:33:31Z wasamasa: the difference between both is customized defaults regarding completion, paren bouncing and word movement 2020-03-16T06:33:43Z aeth joined #scheme 2020-03-16T06:34:15Z aoh__ is now known as aoh 2020-03-16T06:34:25Z mdhughes: Also csi is a pain to set up. "Before you can even try out this language, install a package and screw around with a config file" 2020-03-16T06:34:28Z aoh quit (Changing host) 2020-03-16T06:34:28Z aoh joined #scheme 2020-03-16T06:34:42Z wasamasa: or rlwrap with plain csi 2020-03-16T06:34:48Z mdhughes: vs Chez: "Type scheme" 2020-03-16T06:35:33Z mdhughes: Also assuming rlwrap is on your system, which is only true by default of certain Linuces. 2020-03-16T06:35:51Z mdhughes: % which rlwrap rlwrap not found 2020-03-16T06:36:10Z wasamasa: lol 2020-03-16T06:36:22Z wasamasa: makes me wonder how csi ended up on your system 2020-03-16T06:36:23Z mdhughes: It must've been cleaned out of my ports last time I uninstalled sbcl. 2020-03-16T06:36:44Z mdhughes: port install chicken 2020-03-16T06:38:43Z mdhughes: User experience matters even in text-based developer tools. 2020-03-16T06:39:05Z mdhughes: Otherwise we'd still be toggling code in thru front-panel switches. I can do that, but I'd really rather not. 2020-03-16T06:40:11Z wasamasa: ok, so from what I can see it's mostly about allowing multi-line editing and a bunch of extra commands, some of which do things like indentation of lines or moving around by sexps 2020-03-16T06:40:50Z aeth quit (Ping timeout: 240 seconds) 2020-03-16T06:41:51Z mdhughes: And look at the configuration, it's full of hooks to get in and add commands if what you want isn't in there. 2020-03-16T06:42:00Z aeth joined #scheme 2020-03-16T06:42:19Z wasamasa: the debugging stuff is orthogonal to line editing, there's no reason they're dependent on each other 2020-03-16T06:43:27Z wasamasa: the big question is whether readline even supports multi-line things, I suspect not 2020-03-16T06:43:33Z mdhughes: They're not, but they're part of the same REPL, and make developing at the REPL easier/safer. 2020-03-16T06:43:51Z klovett quit (Remote host closed the connection) 2020-03-16T06:44:17Z mdhughes: Chez's editor is built on curses, I presume, since it reads termcap. 2020-03-16T06:44:29Z klovett joined #scheme 2020-03-16T06:45:17Z mdhughes: readline's one of the GNU things I like least; it's just good enough to honeytrap some programs into using GPL, not good enough to endanger emacs. 2020-03-16T06:46:31Z mdhughes: Julia has a very different but nearly as powerful curses (or raw VT100? Likely the latter) REPL editor. 2020-03-16T06:47:09Z mdhughes: https://docs.julialang.org/en/v1/stdlib/REPL/#The-Julia-REPL-1 2020-03-16T06:54:37Z wasamasa: lol, terminal menus 2020-03-16T07:08:22Z aeth: Well, [ ] and ( ) directly translate for select many or select one menus 2020-03-16T07:08:32Z aeth: other GUI elements are probably more difficult 2020-03-16T07:09:24Z aeth: I think Lisp wouldn't do this mainly because they're primarily used from Emacs or some other editor 2020-03-16T07:12:46Z mdhughes: I use plain ASCII menus in utility programs all the time, Julia's are just a nicer freebie from their terminal code. 2020-03-16T07:18:34Z Lysandros quit (Quit: vpn) 2020-03-16T07:19:15Z ArthurStrong joined #scheme 2020-03-16T07:27:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-16T07:27:30Z Lysandros joined #scheme 2020-03-16T07:44:03Z wasamasa: looking at the docs the multi-line thing might just work 2020-03-16T07:44:10Z wasamasa: just not by default 2020-03-16T07:45:49Z wasamasa: anyway, this whole conversation earlier reminds me of Chekhov's remark how funny this world is, some have a great appetite and a tiny mouth, others barely any appetite, but the right anatomy to eat as much as they'd want 2020-03-16T07:46:46Z wasamasa: some want a luxurious REPL experience, but won't make it happen, others are fine with it as is, but have the skills to make it vastly better 2020-03-16T07:50:38Z mdhughes: Some don't do house repair on a house they don't live in. I do most of my interactive work with Chez, which is already a palace. I use csi to figure out APIs sometimes but spend 99% of my time in the editor because I have to do a compile cycle anyway. 2020-03-16T07:53:21Z mdhughes: If the csi roof leaks, and it's hard to get around in, it doesn't affect me much, but my review of it's going to be honest. 2020-03-16T07:54:20Z civodul joined #scheme 2020-03-16T07:56:44Z hugh_marera joined #scheme 2020-03-16T07:58:30Z klovett quit (Remote host closed the connection) 2020-03-16T07:58:48Z klovett joined #scheme 2020-03-16T08:11:42Z zig: rbarraud: helicopeters were flying but not they stopped. It was reported in some region of France 75+ are left for dead. 2020-03-16T08:17:44Z zig: s/not/now/ 2020-03-16T08:22:42Z tdammers: helis are fucking expensive to keep in the air 2020-03-16T08:25:41Z nly joined #scheme 2020-03-16T08:25:52Z tdammers: couldn't find any numbers for civilian, but a UH-1 costs the US Army $13k per flight hour 2020-03-16T08:28:28Z tdammers: civilian are much cheaper, but still on the order of $200/h or so 2020-03-16T08:31:21Z gmaggior joined #scheme 2020-03-16T08:41:08Z zig: it was around 1hour fwiw, anyway, it happens regularly in my area. 2020-03-16T08:41:24Z zig: at this point money does matter in my opinion. 2020-03-16T08:41:28Z zig: at this point money does NOT matter in my opinion. 2020-03-16T08:43:12Z tdammers: money always matters 2020-03-16T08:44:08Z wasamasa: https://github.com/srfi-explorations/emacs-srfi 2020-03-16T08:44:16Z zig: tdammers: we will see. 2020-03-16T08:44:31Z tdammers: a rough back-of-the-envelope calculation suggests that the maximum number of lives that can be saved here is on the order of 10k-100k 2020-03-16T08:44:39Z tdammers: worldwide, that is 2020-03-16T08:45:13Z tdammers: that's a theoretical upper bound, based on the number of deaths and the affected percentage of the world so far 2020-03-16T08:45:51Z tdammers: but the kind of draconian measures necessary to actually save this many lives would cost trillions 2020-03-16T08:46:09Z tdammers: however, spending trillions on this kind of things means those trillions can't be spent on other things 2020-03-16T08:46:25Z tdammers: things like education, public safety, welfare, etc. 2020-03-16T08:46:34Z tdammers: pulling money away from those areas means people will die 2020-03-16T08:47:23Z tdammers: people are dying due to not having enough money to pay for rent, food, heating, etc., already; reducing public spending on those things will kill people, whether you like it or not 2020-03-16T08:47:45Z zig: tdammers: it seems to me a conversation with you will lead nowhere. 2020-03-16T08:47:47Z montxero quit (Read error: Connection reset by peer) 2020-03-16T08:48:15Z oxum quit (Remote host closed the connection) 2020-03-16T08:48:28Z tdammers: conversations with me tend to have this property, yes :x 2020-03-16T08:51:22Z zig: we are past "back-of-the-envelope" calculation for basic stuff as housing, food etc... data exists, people in the know, know it. That is not only lack of money, if #opendata is not a thing, it is about keeping control. 2020-03-16T08:52:49Z tdammers: of course 2020-03-16T08:53:03Z tdammers: "back of the envelope" is just what *I* can come up with rn 2020-03-16T08:53:24Z tdammers: actual decision makers have much better numbers at their disposal 2020-03-16T08:54:01Z tdammers: all I'm saying is that "money", whether you want to or not, is a crucial factor in the decision making, and that's not people being cyncial or cold, it's just how it is 2020-03-16T08:54:57Z tdammers: what really matters here is labor, but as it stands, money is the best tool we have to organize that, long term 2020-03-16T08:58:21Z zig: look at google finance CAC40, 6000 pts 3600 pts today. 2020-03-16T08:58:28Z zig: 3700 2020-03-16T08:59:00Z zig: half the value in one month, whatever it means, it is huge. 2020-03-16T09:00:27Z tdammers: stock markets tend to exhibit pathological behavior in such situations 2020-03-16T09:00:40Z tdammers: it's kind of like the professional trading equivalent of hoarding toilet paper 2020-03-16T09:00:49Z tdammers: but still, the outcome is real 2020-03-16T09:01:59Z Lysandros quit (Quit: brb) 2020-03-16T09:02:30Z Lysandros joined #scheme 2020-03-16T09:02:42Z zig: yeah 2020-03-16T09:03:13Z zig: except you can replace toilet paper with still water. 2020-03-16T09:04:00Z oxum joined #scheme 2020-03-16T09:04:47Z xelxebar joined #scheme 2020-03-16T09:08:50Z oxum quit (Ping timeout: 265 seconds) 2020-03-16T09:20:26Z oxum joined #scheme 2020-03-16T09:21:37Z luni joined #scheme 2020-03-16T09:22:00Z luni is now known as Guest5379 2020-03-16T09:22:19Z Guest5379 quit (Remote host closed the connection) 2020-03-16T09:24:59Z oxum quit (Ping timeout: 250 seconds) 2020-03-16T09:36:00Z oxum joined #scheme 2020-03-16T09:40:27Z oxum quit (Ping timeout: 240 seconds) 2020-03-16T09:40:49Z oxum joined #scheme 2020-03-16T09:41:31Z nilg joined #scheme 2020-03-16T09:43:59Z oxum quit (Remote host closed the connection) 2020-03-16T09:44:47Z oxum joined #scheme 2020-03-16T09:50:15Z dioxoid joined #scheme 2020-03-16T09:51:28Z oxum_ joined #scheme 2020-03-16T09:53:14Z oxum__ joined #scheme 2020-03-16T09:53:34Z dioxoid is now known as luni 2020-03-16T09:54:08Z oxum quit (Ping timeout: 246 seconds) 2020-03-16T09:55:30Z oxum__ quit (Client Quit) 2020-03-16T09:56:08Z oxum_ quit (Ping timeout: 256 seconds) 2020-03-16T10:00:03Z gravicappa quit (Ping timeout: 240 seconds) 2020-03-16T10:01:59Z oxum joined #scheme 2020-03-16T10:02:52Z ArthurStrong quit (Quit: leaving) 2020-03-16T10:04:09Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-16T10:17:24Z brendyyn joined #scheme 2020-03-16T10:26:45Z RRedcroft joined #scheme 2020-03-16T10:55:10Z lritter joined #scheme 2020-03-16T10:56:26Z v_m_v joined #scheme 2020-03-16T10:58:12Z ggole joined #scheme 2020-03-16T11:11:43Z oxum_ joined #scheme 2020-03-16T11:11:50Z oxum quit (Read error: Connection reset by peer) 2020-03-16T11:14:26Z oxum_ quit (Client Quit) 2020-03-16T11:26:38Z lockywolf joined #scheme 2020-03-16T11:28:01Z lockywolf quit (Max SendQ exceeded) 2020-03-16T11:28:32Z lockywolf joined #scheme 2020-03-16T11:31:29Z oxum joined #scheme 2020-03-16T11:40:26Z oxum quit (Ping timeout: 240 seconds) 2020-03-16T11:43:28Z oxum joined #scheme 2020-03-16T12:05:59Z oxum quit (Ping timeout: 256 seconds) 2020-03-16T12:19:38Z lockywolf_ joined #scheme 2020-03-16T12:22:13Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-16T12:39:39Z lockywolf__ joined #scheme 2020-03-16T12:41:48Z lockywolf_ quit (Ping timeout: 246 seconds) 2020-03-16T12:49:06Z X-Scale` joined #scheme 2020-03-16T12:49:52Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-16T12:50:02Z X-Scale` is now known as X-Scale 2020-03-16T12:58:00Z oxum joined #scheme 2020-03-16T13:00:09Z oxum quit (Client Quit) 2020-03-16T13:05:16Z coffeeturtle joined #scheme 2020-03-16T13:06:55Z gravicappa joined #scheme 2020-03-16T13:14:05Z lockywolf_ joined #scheme 2020-03-16T13:14:23Z belmarca: you can bet on the stock market going up/down so some people are making money either/both ways. I wouldn't underestimate what we're seeing but also don't forget that fortunes are made in such times. 2020-03-16T13:16:03Z luni quit (Remote host closed the connection) 2020-03-16T13:16:43Z lockywolf__ quit (Ping timeout: 246 seconds) 2020-03-16T13:22:32Z notzmv quit (Read error: Connection reset by peer) 2020-03-16T13:23:52Z drakonis joined #scheme 2020-03-16T13:45:26Z zig: yeah. I am in my own bubble. I reading lot of people being angry. 2020-03-16T13:45:54Z zig: I was not during previous pandemia so I can not tell, the outcome will be different. 2020-03-16T13:46:17Z zig: for the time being, they ask people to stay calm. 2020-03-16T13:46:19Z skapata joined #scheme 2020-03-16T13:47:01Z oxum joined #scheme 2020-03-16T13:50:42Z X-Scale` joined #scheme 2020-03-16T13:50:47Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-16T13:51:39Z X-Scale` is now known as X-Scale 2020-03-16T13:52:22Z belmarca: well, limit your social interactions, have food to last 2 weeks 2020-03-16T13:52:25Z belmarca: not much else you can do. 2020-03-16T13:53:21Z zig: yeah exactly. 2020-03-16T13:53:23Z belmarca: the issue is with overloading the healthcare systems, and that doesn't take much. Depending on the location, even a few dozens more cases per week can overwhelm hospitals. 2020-03-16T13:53:37Z zig: they are already full. afaik. 2020-03-16T13:53:54Z belmarca: well western hospitals usually work close to capacity anyway, so that is expected 2020-03-16T13:54:11Z belmarca: no hospital has room to grow 50% at any time 2020-03-16T13:55:00Z belmarca: anyway, if everyone helps stopping transmission chains, it should be manageable 2020-03-16T13:55:31Z belmarca: if people don't listen, the chains will just keep on growing, like what "patient 31" did in Korea.... One person responsible for most cases. 2020-03-16T13:55:56Z lockywolf_: does anyone have an idea how to solve sicp 4.79? 2020-03-16T13:56:01Z zig: I do not want to worry too much, but what about if the virus mutates? 2020-03-16T13:56:29Z belmarca: the virus has mutated, and will mutate, is constantly mutating. 2020-03-16T13:56:37Z belmarca: such is the nature of things 2020-03-16T13:56:57Z zig: yeah you understand what I mean. I mean it could be even more deadly. 2020-03-16T13:57:07Z belmarca: that would actually be a good thing 2020-03-16T13:57:08Z zig: yes I saw reports about mutations 2020-03-16T13:57:13Z zig: why is that? 2020-03-16T13:57:32Z belmarca: if it is too deadly spread can stop much earlier 2020-03-16T13:57:48Z zig: oh 2020-03-16T13:58:08Z belmarca: the current parameters are kind of bad since it seems to spread very easily (~2-3 infections per person on average) 2020-03-16T13:58:21Z belmarca: and 9-11% (italy's numbers) admitted to the ICU 2020-03-16T13:58:29Z belmarca: with 1-4% (worldwide) dying. 2020-03-16T13:58:48Z zig: i know those numbers. 2020-03-16T13:59:08Z belmarca: what I mean is that if it kills before you can infect.... for the population as a whole, that's a benefit 2020-03-16T13:59:23Z belmarca: there is an evolutionary pressure on the virus not to do that 2020-03-16T13:59:42Z zig: really? what will happen then? 2020-03-16T13:59:50Z zig: it will keep spreading? 2020-03-16T14:01:13Z zig: fwiw I am disapointed by the discourse of europe outside spain and italy. 2020-03-16T14:01:52Z belmarca: have you seen Trump? And Trudeau? It's shameful all around. 2020-03-16T14:02:20Z belmarca: let's fight an exponential curve with linear measures... 2020-03-16T14:03:04Z zig: at least, they are not supreme thought leaders. Like I mean, USA is federal state, every state can take actions. 2020-03-16T14:03:13Z belmarca: not on borders 2020-03-16T14:03:24Z zig: true 2020-03-16T14:04:19Z belmarca: you don't need to shut down borders to take effective measures (both politically and epidemiologically), but at one point you have to do _something_ 2020-03-16T14:04:25Z zig: Reading things like "In God we trust" is pointless. 2020-03-16T14:04:42Z belmarca: well we've elected these clowns 2020-03-16T14:04:43Z ecraven: well, just blame some foreigners! that's doing something, isn't it? 2020-03-16T14:04:46Z zig: something is not cutting the borders necessarly, quarantine is better. 2020-03-16T14:05:19Z zig: I read something fantastic, somewhat, in south korea, they tracked a cluster to patient 31... 2020-03-16T14:05:48Z zig: how? is that communication of some sort of brain washing "we are the best" or they really did track patient 31?! 2020-03-16T14:06:10Z lockywolf_: who's "patient 31"? 2020-03-16T14:06:30Z zig: patient 31 in korea. idk who. 2020-03-16T14:07:04Z wasamasa: now you know what they mean when saying "Korea is a police state" 2020-03-16T14:07:18Z zig: yeah I read about that too. 2020-03-16T14:07:30Z zig: I did not know it was a police state. At least not the south part. 2020-03-16T14:07:58Z lockywolf_: people have 1-to-1 correspondence with their smartphones 2020-03-16T14:08:26Z lockywolf_: it's not hard to track people's movements 2020-03-16T14:08:41Z zig: yeah that is what I read too 2020-03-16T14:08:55Z zig: btw what is happening between trump and google? 2020-03-16T14:09:28Z lockywolf_: you have a rough coordinate with a GSM node, and make it more precise since every app reports the surrounding wi-fi ids to the overmind 2020-03-16T14:09:58Z lockywolf_: and you get exact positions at the moment of purchases of stuff with google pay 2020-03-16T14:09:59Z zig: trump says google is working on website with an hilarious headcount (1700) they people say it is false, then spoke person at google say it is true... not sure. 2020-03-16T14:10:27Z lockywolf_: or whatever smartphone payment system in use 2020-03-16T14:11:27Z belmarca: @zig they follow cases 2020-03-16T14:12:10Z belmarca: that's the initial containment measures, before they lose control 2020-03-16T14:12:14Z belmarca: "contact tracing" 2020-03-16T14:12:27Z zig: oh 2020-03-16T14:12:56Z belmarca: ecraven foreigner, not foreigner, all cases passed through airports at one point. There's got to be a middle ground between full closure and not asking any questions. 2020-03-16T14:12:57Z zig: many people fear they will loose control of everything like market and also people. The rumor says the army will enter the big cities. 2020-03-16T14:15:25Z TCZ joined #scheme 2020-03-16T14:19:15Z zig: at least in France, people do not have guns (officially). 2020-03-16T14:26:51Z belmarca: short of a full-blown revolution what's a gun going to do 2020-03-16T14:27:24Z belmarca: most people dismissed (under-reacted) the situtation for weeks (months?) 2020-03-16T14:27:32Z belmarca: now most people are overreacting 2020-03-16T14:29:32Z zig: what the government fear the most at this point, is that people will not go back to work after the confinment. 2020-03-16T14:33:38Z klovett quit (Ping timeout: 240 seconds) 2020-03-16T14:37:39Z Riastradh: Let's keep the covid19 discussion to reliable facts and advice from public health sources, and not scaremongering rumours, please. 2020-03-16T14:50:22Z v_m_v quit (Remote host closed the connection) 2020-03-16T14:53:27Z badkins joined #scheme 2020-03-16T14:58:26Z jcowan: France is arguably a police state too 2020-03-16T14:59:22Z jcowan: in the sense that the police know (at least outside major cities) who is living where. 2020-03-16T15:09:06Z gwatt: Is that the defining quality of a police state? That the government knows where you live? 2020-03-16T15:10:19Z Riastradh: I think these days the defining quality is whether it makes a good rhetorical flourish in the context. 2020-03-16T15:14:38Z tdammers: I like the definition where the police de facto run the country 2020-03-16T15:14:43Z Riastradh: (...which is not to say that there aren't specific abuses of power over people by authoritarian governments through police forces, e.g. in Hong Kong, just that the term doesn't have a lot of specific meaning on its own any more.) 2020-03-16T15:15:07Z tdammers: i.e., democratic control of government and police are absent or failing 2020-03-16T15:18:04Z brendyyn quit (Ping timeout: 256 seconds) 2020-03-16T15:19:56Z zig: fwiw, what I said, is fact relayed by some (maybe "underground") newspaper, I just got another clue that Italy is going to strike. 2020-03-16T15:20:39Z Riastradh: zig: Please keep it to reliable facts and advice from public health stories and do not use #scheme to spread rumours around. 2020-03-16T15:20:50Z Riastradh: sources 2020-03-16T15:20:57Z v_m_v joined #scheme 2020-03-16T15:26:51Z Guest1383 joined #scheme 2020-03-16T15:27:05Z Guest1383 left #scheme 2020-03-16T15:28:42Z zaifir: mdhughes: Thanks for the input. Those were some of the implementations I was considering, for sure. I'm not going to get into fancy repo details myself (it's Wikibooks, so others can add that), I'd just like something easy to get running and reasonably non-idiosyncratic. 2020-03-16T15:28:53Z zaifir: s/repo/REPL/ 2020-03-16T15:30:35Z luni joined #scheme 2020-03-16T15:34:47Z TCZ quit (Quit: Leaving) 2020-03-16T15:37:10Z v_m_v_ joined #scheme 2020-03-16T15:37:51Z RRedcroft quit (Remote host closed the connection) 2020-03-16T15:38:57Z v_m_v__ joined #scheme 2020-03-16T15:39:18Z v_m_v quit (Read error: Connection reset by peer) 2020-03-16T15:42:51Z v_m_v_ quit (Ping timeout: 250 seconds) 2020-03-16T15:43:59Z oxum quit (Quit: Leaving...) 2020-03-16T15:50:16Z jcowan: I agree that applying the term to France is OTT 2020-03-16T16:00:29Z lucasb joined #scheme 2020-03-16T16:03:39Z oxum joined #scheme 2020-03-16T16:06:13Z v_m_v__ quit (Remote host closed the connection) 2020-03-16T16:12:34Z oxum quit (Read error: No route to host) 2020-03-16T16:13:01Z oxum joined #scheme 2020-03-16T16:22:12Z Khisanth quit (Ping timeout: 258 seconds) 2020-03-16T16:24:03Z jao joined #scheme 2020-03-16T16:25:54Z oxum quit (Quit: Leaving...) 2020-03-16T16:35:41Z Khisanth joined #scheme 2020-03-16T16:57:58Z klovett joined #scheme 2020-03-16T16:59:27Z izh_ joined #scheme 2020-03-16T17:16:25Z xkapastel joined #scheme 2020-03-16T17:45:20Z badkins quit (Remote host closed the connection) 2020-03-16T17:45:59Z badkins joined #scheme 2020-03-16T17:47:32Z skapata quit (Quit: Ĝis!) 2020-03-16T17:50:50Z badkins quit (Ping timeout: 265 seconds) 2020-03-16T17:54:46Z pjb joined #scheme 2020-03-16T18:01:46Z jao quit (Remote host closed the connection) 2020-03-16T18:02:42Z badkins joined #scheme 2020-03-16T18:10:03Z jao joined #scheme 2020-03-16T18:11:27Z badkins quit (Remote host closed the connection) 2020-03-16T18:11:40Z badkins joined #scheme 2020-03-16T18:17:47Z jao quit (Ping timeout: 246 seconds) 2020-03-16T18:18:36Z cartwright quit (Remote host closed the connection) 2020-03-16T18:27:08Z nckx quit (*.net *.split) 2020-03-16T18:27:08Z dsp_ quit (*.net *.split) 2020-03-16T18:27:08Z cibs quit (*.net *.split) 2020-03-16T18:27:16Z dsp joined #scheme 2020-03-16T18:27:25Z cibs joined #scheme 2020-03-16T18:27:27Z nckx joined #scheme 2020-03-16T18:35:52Z nilg quit (Remote host closed the connection) 2020-03-16T18:36:49Z jao joined #scheme 2020-03-16T18:37:11Z mr_machina joined #scheme 2020-03-16T18:42:41Z skapata joined #scheme 2020-03-16T18:52:50Z notzmv joined #scheme 2020-03-16T19:16:43Z nckx quit (*.net *.split) 2020-03-16T19:17:04Z nckx joined #scheme 2020-03-16T19:26:33Z izh_ quit (Quit: Leaving) 2020-03-16T19:29:29Z aeth: I think I should point out that there are several politics channels, several Coronavirus channels, and quite a few general off-topic channels (although some might forbid politics). If there's no #scheme off-topic channel, #lispcafe doesn't mind Scheme (but it probably minds Clojure) 2020-03-16T19:30:35Z aeth: There probably are some finance/economics channels, too. 2020-03-16T19:35:25Z aeth: There's quite a few Freenode search results for "politics" and "political" on the IRC search engine (netsplit.de), but more than half are "no..." in front, so it's a bit hard to search for. For Coronavirus, there's #coronavirus (the official channel of Coronavirus???) and ##covid-19 2020-03-16T19:36:10Z partyclicker quit (Remote host closed the connection) 2020-03-16T19:37:46Z Lysandros: I tried talking about the common cold in #coronavirus and they weren't interested, I think it's false advertising 2020-03-16T19:38:14Z Lysandros: imagine if they only used debian in #linux. What a crowd! 2020-03-16T19:49:09Z zaifir: Lysandros: I wouldn't be surprised if the people in that channel were a bit tense. 2020-03-16T19:53:08Z narendraj9 joined #scheme 2020-03-16T19:57:39Z zig: aeth: very useful. 2020-03-16T19:59:31Z gendarme joined #scheme 2020-03-16T20:13:33Z coffeeturtle quit (Remote host closed the connection) 2020-03-16T20:26:37Z notzmv quit (Ping timeout: 264 seconds) 2020-03-16T20:36:32Z gioyik joined #scheme 2020-03-16T20:42:48Z narendraj9 quit (Remote host closed the connection) 2020-03-16T20:44:22Z aeth: Some people have been in a panic on IRC for months, and they're normally just paranoid, but now their paranoia has been "confirmed" so, yeah, I wouldn't be surprised if #coronavirus has a lot of people who are "a bit tense" 2020-03-16T20:44:35Z aeth: (a panic over Coronavirus, I mean) 2020-03-16T20:44:48Z narendraj9 joined #scheme 2020-03-16T20:45:38Z zig: aeth: thanks again. 2020-03-16T20:45:58Z zig: I am a bit more confident. 2020-03-16T20:46:51Z Riastradh: Lysandros: https://xkcd.com/2275/ 2020-03-16T20:49:53Z Lysandros: hah yeah I saw 2020-03-16T20:50:10Z gendarme quit (Quit: gendarme) 2020-03-16T21:02:15Z pilne joined #scheme 2020-03-16T21:02:53Z aeth: Riastradh: yeah but that's #TheSpider 2020-03-16T21:02:56Z aeth: not #scheme :-) 2020-03-16T21:11:40Z gravicappa quit (Ping timeout: 246 seconds) 2020-03-16T21:14:10Z ngz joined #scheme 2020-03-16T21:22:06Z narendraj9 quit (Remote host closed the connection) 2020-03-16T21:23:45Z jboy quit (Remote host closed the connection) 2020-03-16T21:27:08Z ggole quit (Quit: Leaving) 2020-03-16T21:28:42Z v_m_v joined #scheme 2020-03-16T21:39:14Z v_m_v quit (Remote host closed the connection) 2020-03-16T21:40:06Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-16T22:04:42Z v_m_v joined #scheme 2020-03-16T22:07:18Z v_m_v_ joined #scheme 2020-03-16T22:07:18Z v_m_v quit (Read error: Connection reset by peer) 2020-03-16T22:10:06Z evdubs quit (Remote host closed the connection) 2020-03-16T22:10:26Z evdubs joined #scheme 2020-03-16T22:29:01Z kjak quit (Quit: leaving) 2020-03-16T22:30:20Z kjak joined #scheme 2020-03-16T22:30:57Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-16T22:33:31Z notzmv joined #scheme 2020-03-16T22:41:48Z Khisanth quit (Ping timeout: 265 seconds) 2020-03-16T22:45:15Z zig quit (Quit: WeeChat 1.9.1) 2020-03-16T22:46:15Z zig joined #scheme 2020-03-16T22:49:13Z v_m_v_ quit (Remote host closed the connection) 2020-03-16T22:50:50Z xuxx joined #scheme 2020-03-16T22:51:41Z mdhughes: I'm always amused by LISP "advocates" who grudgingly accept Scheme exists, but they wish it wouldn't, but shout "UNCLEAN! Abomination!" at Clojure. 2020-03-16T22:52:17Z mdhughes: Especially since Clojure has all the problems of LISP to me: Ugly, incoherent mountain of junk on top of a good premise. 2020-03-16T22:56:50Z aeth: Common Lisp and Scheme share the same basic core language with different names with the key exception that CL uses contained gotos within TAGBODY as its iteration primitive while Scheme uses optimized tail recursion as its iteration primitive. Also, Scheme has full continuations. 2020-03-16T22:57:15Z aeth: Skills in one are very transferable to skills in the other. 2020-03-16T22:57:58Z aeth: Emacs Lisp is probably even closer to CL than Scheme is, but Emacs Lisp is domain-specific to scripting GNU Emacs and is less elegant and more hackish than CL or Scheme. Now that XEmacs is dead, elisp is effectively a one-implementation language, too. 2020-03-16T22:59:23Z aeth: Languages like Clojure are considerably further removed from the Lisps that existed in some form in the early 1990s. 2020-03-16T22:59:55Z aeth: Whether they're far enough removed that they're not included in the Lisp family at all is, well, a common internet flamewar among Lispers. 2020-03-16T23:00:22Z aeth: Few people will exclude CL, Scheme, or elisp from being "Lisp", and if they do, they're objectively wrong anyway IMO. 2020-03-16T23:01:34Z lritter quit (Ping timeout: 246 seconds) 2020-03-16T23:02:37Z aeth: Anyway, it's a rather boring flamewar because the answer is that everyone's right and everyone's wrong, depending on the definition. Different words have different definitions depending on the context and this is one of those things that is 100% an argument over definitions, which is not particularly interesting. 2020-03-16T23:03:32Z zaifir: There are more interesting things to do than bash languages. 2020-03-16T23:03:39Z oni-on-ion: that sounds like lisp, symbols can be anything =) 2020-03-16T23:03:50Z aeth: Did I tag the Airship Scheme repository as "Lisp" in addition to "Scheme"? Absolutely. I would have done that even if it wasn't (partially) written in Common Lisp, too. "Lisp" seems to mostly be CL and elisp stuff, though. 2020-03-16T23:03:56Z aeth: zaifir: well, the bash language is a horrible language 2020-03-16T23:04:11Z zaifir: zaifir: Hah, well played. 2020-03-16T23:04:29Z aeth: oni-on-ion: well, more like Common Lisp, where the same symbol can have two different "meanings" depending on the package namespace, which doesn't have to be included, and thus is somewhat context-dependent. 2020-03-16T23:05:14Z aeth: (By '"Lisp" seems to mostly be...' I mean the Gitlab "Lisp" tag) 2020-03-16T23:05:23Z oni-on-ion: mhm=) 2020-03-16T23:08:47Z Khisanth joined #scheme 2020-03-16T23:10:07Z xuxx: If my list is : '1 2020-03-16T23:10:17Z xuxx: (car myList) fails 2020-03-16T23:10:19Z xuxx: why ? 2020-03-16T23:12:33Z xuxx: I shoud wwrite '(1) 2020-03-16T23:14:11Z oni-on-ion: (car '(1)) => 1 2020-03-16T23:23:58Z jao quit (Ping timeout: 246 seconds) 2020-03-16T23:26:38Z hugh_marera quit (Quit: hugh_marera) 2020-03-16T23:27:49Z nckx quit (Ping timeout: 264 seconds) 2020-03-16T23:28:33Z nckx joined #scheme 2020-03-16T23:31:25Z jao joined #scheme 2020-03-16T23:31:38Z jao is now known as Guest17393 2020-03-16T23:33:10Z Guest17393 quit (Remote host closed the connection) 2020-03-16T23:33:46Z jao- joined #scheme 2020-03-16T23:33:53Z jao- is now known as jao 2020-03-16T23:38:34Z badkins quit (Remote host closed the connection) 2020-03-16T23:39:04Z badkins joined #scheme 2020-03-16T23:43:32Z badkins quit (Ping timeout: 256 seconds) 2020-03-16T23:45:14Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-16T23:52:31Z aeth quit (Ping timeout: 250 seconds) 2020-03-16T23:52:37Z gmaggior quit (Quit: Leaving) 2020-03-16T23:54:15Z aeth joined #scheme 2020-03-16T23:55:54Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-17T00:11:35Z badkins joined #scheme 2020-03-17T00:11:45Z TCZ joined #scheme 2020-03-17T00:13:13Z ngz quit (Ping timeout: 272 seconds) 2020-03-17T00:22:26Z seepel joined #scheme 2020-03-17T00:31:08Z xuxx quit (Ping timeout: 256 seconds) 2020-03-17T00:38:51Z nerdypepper quit (Ping timeout: 260 seconds) 2020-03-17T00:38:58Z nerdypep- joined #scheme 2020-03-17T00:43:31Z seepel quit (Read error: Connection reset by peer) 2020-03-17T00:45:28Z badkins quit (Remote host closed the connection) 2020-03-17T00:46:14Z seepel joined #scheme 2020-03-17T00:46:16Z badkins joined #scheme 2020-03-17T00:50:50Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T00:53:33Z seepel1 joined #scheme 2020-03-17T00:55:16Z lockywolf joined #scheme 2020-03-17T00:56:04Z seepel quit (Ping timeout: 256 seconds) 2020-03-17T00:58:11Z oxum joined #scheme 2020-03-17T01:00:57Z oxum_ joined #scheme 2020-03-17T01:09:25Z oxum_ quit (Quit: Leaving...) 2020-03-17T01:15:26Z luni quit (Remote host closed the connection) 2020-03-17T01:15:59Z gendarme joined #scheme 2020-03-17T01:18:22Z gendarme quit (Remote host closed the connection) 2020-03-17T01:18:31Z lockywolf: Still, can anyone recommend an approach to tackle sicp 4.79? 2020-03-17T01:27:24Z badkins joined #scheme 2020-03-17T01:34:02Z aeth: There should be a srfi for SICP answers, so that SICP is trivial for any modern Scheme. 2020-03-17T01:49:51Z lockywolf: aeth, answers? 2020-03-17T01:50:19Z lockywolf: I considered writing an srfi for SICP _questions_ 2020-03-17T01:50:36Z lockywolf: Something like racket's #lang sicp 2020-03-17T01:51:24Z lockywolf: So that one could run something like chibi-scheme -xteaching.sicp 2020-03-17T01:51:37Z lockywolf: and have the primitives ready 2020-03-17T01:51:56Z lockywolf: surprisingly, there is not _that_ much 2020-03-17T01:53:01Z lockywolf: two or three threading operations, two primitive painters for the picture language, a rename for (current-second) and a rename for some random source from srfi-27 2020-03-17T01:53:35Z lockywolf: I have an implementation for all of that for chibi+emacs, it's actually easy. 2020-03-17T01:54:34Z lockywolf: Except the problem 5.52, which requires a C compiler, and the problem 5.51, which requires "some low-level language of your choice" 2020-03-17T01:56:31Z lockywolf: I also forgot the (cons-stream) implementation, which can also possibly be a rename of an r7rs-large operation 2020-03-17T02:01:39Z seepel1 quit (Ping timeout: 250 seconds) 2020-03-17T02:08:22Z oxum quit (Remote host closed the connection) 2020-03-17T02:09:01Z aeth: lockywolf: that's fine, too, since then the answers would be the unit tests. :-) 2020-03-17T02:10:51Z aeth: heh, 5.51... "Develop a rudimentary implementation of Scheme in C (or some other low-level language of your choice)..." 2020-03-17T02:11:52Z aeth: lockywolf: since 5.52 directly follows 5.51, and involves modifying 5.51, I think "C" there also could apply to "some other low-level language of your choice" 2020-03-17T02:12:21Z lockywolf: aeth, they are not really connected 2020-03-17T02:12:51Z aeth: lockywolf: either way, you could handle the C instructions in Scheme and have things be really circular 2020-03-17T02:12:53Z lockywolf: I mean, they may share certain runtime code 2020-03-17T02:13:24Z lockywolf: aeth, you mean modify the register machine simulator to handle C syntax? 2020-03-17T02:13:39Z aeth: possibly, if that's the least amount of work 2020-03-17T02:13:52Z lockywolf: I don't think this is the point of the exercise 2020-03-17T02:14:38Z lockywolf: the point is mostly to write a garbage collector and a sexp parser 2020-03-17T02:15:33Z aeth: heh 2020-03-17T02:16:13Z lockywolf: I think having a synchronous call to $(which cc) is enough 2020-03-17T02:16:39Z lockywolf: I don't think that 5.51 is as fiendish as 4.79 2020-03-17T02:16:49Z aeth: eh 2020-03-17T02:16:56Z lockywolf: I think, SWI-Prolog uses renaming 2020-03-17T02:18:03Z aeth: The way I generally handle "generate $language" is to write a macro that builds up that language. 2020-03-17T02:18:34Z aeth: So '(+ 1 1) => "1 + 1" and we go from there (except probably not as intermediately consing as this might imply if done naively) 2020-03-17T02:18:46Z aeth: After that, yeah, any C compiler could be used 2020-03-17T02:18:50Z aeth: Just write to /tmp 2020-03-17T02:19:49Z lockywolf: I don't understand what you are saying. 2020-03-17T02:20:20Z lockywolf: I am only a newbie in scheme, and r4rs didn't have any syntactic extension features. 2020-03-17T02:20:37Z badkins quit (Remote host closed the connection) 2020-03-17T02:21:35Z lockywolf: So I do syntax rewriting manually with a metacircular evaluator 2020-03-17T02:21:43Z aeth: Well, what's far more common is HTML generation. 2020-03-17T02:22:43Z oxum joined #scheme 2020-03-17T02:22:44Z aeth: In the case of HTML generation, most Lisps have templating language libraries that look something like this: (html (head ...) (body (h1 "Hello") (p "Hello, world!"))) 2020-03-17T02:23:16Z aeth: These will then eventually create the string or file " ...

Hello

Hello, world!

" 2020-03-17T02:23:27Z lockywolf: looks nice 2020-03-17T02:24:03Z aeth: Generating C is just taking the extra step to compile it from something like (c-define (main) (printf "Hello, world")) 2020-03-17T02:24:53Z aeth: Obviously these are wrapped in macros, and so they can in effect be treated like procedures of '(html ...) or '(c-define ...) except when you do something fancier like allow dynamic generation (e.g. (p "Hello," user "!") instead of (p "Hello, world!")) 2020-03-17T02:25:19Z aeth: s/procedures of/procedures on/ 2020-03-17T02:25:53Z aeth: The effect, though, is that you move most of the generation time to compile time (which in the case of an interpreter is probably some bytecode compilation) 2020-03-17T02:26:21Z torbo joined #scheme 2020-03-17T02:26:40Z aeth: If you're purely static, you create a literal string that you have at runtime. If you're dynamic you probably create a few literal strings with some variables in between, depending on how that sort of thing works in the particular Lisp/Scheme 2020-03-17T02:35:04Z cartwright joined #scheme 2020-03-17T02:43:01Z lockywolf: In the section 5.4 of the r7rs standard, it is postulated that in (define-syntax keyword transformer spec) the "transformer spec" is an instance of syntax-rules. Does it mean that any other syntax transformers are prohibited? 2020-03-17T02:43:22Z TCZ quit (Quit: Leaving) 2020-03-17T02:44:29Z Riastradh: lockywolf: No, just that they're not specified by the standard. 2020-03-17T02:44:33Z Riastradh: (or by that part of the standard) 2020-03-17T02:45:13Z lockywolf_ joined #scheme 2020-03-17T02:45:22Z lockywolf_ quit (Remote host closed the connection) 2020-03-17T02:46:23Z lockywolf_ joined #scheme 2020-03-17T02:47:44Z lockywolf quit (Ping timeout: 246 seconds) 2020-03-17T02:57:32Z lockywolf_: jcowan, r7rs-small pdf has difficulties selecting text 2020-03-17T02:58:15Z lockywolf_: For example, try to select "(define-syntax keyword transformer spec)" in the section 5.4, page 26. 2020-03-17T02:59:05Z lockywolf_: What actually gets selected is "(define-syntax hkeywordi htransformer speci)", that is, unicode-ish angular brackets get selected as unrelated latin letters. 2020-03-17T03:12:22Z qu1j0t3 joined #scheme 2020-03-17T03:24:23Z ahungry joined #scheme 2020-03-17T03:25:32Z torbo quit (Remote host closed the connection) 2020-03-17T03:33:45Z pilne quit (Quit: I cna ytpe 300 wrods pre mniuet!!!) 2020-03-17T03:42:56Z brendyyn joined #scheme 2020-03-17T03:52:22Z seepel joined #scheme 2020-03-17T04:15:52Z seepel quit (Ping timeout: 246 seconds) 2020-03-17T04:17:46Z gioyik quit (Read error: Connection reset by peer) 2020-03-17T04:18:55Z gioyik joined #scheme 2020-03-17T04:21:07Z badkins joined #scheme 2020-03-17T04:25:23Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T04:26:41Z lockywolf__ joined #scheme 2020-03-17T04:29:37Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-17T04:31:44Z mr_machina quit (Remote host closed the connection) 2020-03-17T04:32:07Z seepel joined #scheme 2020-03-17T04:37:43Z seepel quit (Remote host closed the connection) 2020-03-17T04:38:07Z seepel joined #scheme 2020-03-17T04:44:14Z gravicappa joined #scheme 2020-03-17T05:02:57Z ahungry quit (Remote host closed the connection) 2020-03-17T05:03:00Z gioyik quit (Read error: Connection reset by peer) 2020-03-17T05:04:50Z gioyik joined #scheme 2020-03-17T05:28:47Z seepel quit (Ping timeout: 250 seconds) 2020-03-17T05:44:04Z jao quit (Ping timeout: 246 seconds) 2020-03-17T05:45:24Z lockywolf_ joined #scheme 2020-03-17T05:46:16Z lockywolf_ quit (Remote host closed the connection) 2020-03-17T05:46:49Z lockywolf_ joined #scheme 2020-03-17T05:47:54Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-17T05:49:01Z skapata quit (Quit: Ĝis!) 2020-03-17T06:01:33Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-17T06:13:44Z lockywolf__ joined #scheme 2020-03-17T06:15:35Z cartwright quit (Remote host closed the connection) 2020-03-17T06:16:25Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-17T06:16:53Z cartwright joined #scheme 2020-03-17T06:34:10Z GreaseMonkey quit (Remote host closed the connection) 2020-03-17T06:34:21Z greaser|q joined #scheme 2020-03-17T06:39:32Z ggole joined #scheme 2020-03-17T06:42:43Z hugh_marera joined #scheme 2020-03-17T06:45:47Z hugh_marera quit (Client Quit) 2020-03-17T06:53:13Z lockywolf_ joined #scheme 2020-03-17T06:55:33Z lockywolf__ quit (Ping timeout: 246 seconds) 2020-03-17T07:01:09Z partyclicker joined #scheme 2020-03-17T07:32:07Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-17T07:35:10Z klovett quit (Remote host closed the connection) 2020-03-17T07:35:53Z klovett joined #scheme 2020-03-17T07:59:05Z oxum quit (Remote host closed the connection) 2020-03-17T08:05:49Z civodul joined #scheme 2020-03-17T08:11:52Z oxum joined #scheme 2020-03-17T08:20:56Z partyclicker quit (Ping timeout: 246 seconds) 2020-03-17T08:40:51Z cpape joined #scheme 2020-03-17T08:43:19Z liulanghaitun joined #scheme 2020-03-17T08:56:28Z luni joined #scheme 2020-03-17T09:07:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-17T09:27:14Z sudden quit (Ping timeout: 258 seconds) 2020-03-17T09:36:35Z xuxx joined #scheme 2020-03-17T09:58:45Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-17T09:59:41Z luni quit (Remote host closed the connection) 2020-03-17T10:10:11Z zooey_ quit (Remote host closed the connection) 2020-03-17T10:14:12Z sudden joined #scheme 2020-03-17T10:20:04Z sarna quit (Quit: bye) 2020-03-17T10:20:18Z oxum quit (Remote host closed the connection) 2020-03-17T10:20:42Z v_m_v joined #scheme 2020-03-17T10:22:11Z badkins joined #scheme 2020-03-17T10:22:34Z sarna joined #scheme 2020-03-17T10:24:34Z jobol joined #scheme 2020-03-17T10:25:58Z brendarn joined #scheme 2020-03-17T10:26:29Z badkins quit (Ping timeout: 250 seconds) 2020-03-17T10:26:40Z oxum joined #scheme 2020-03-17T10:27:55Z brendyyn quit (Ping timeout: 246 seconds) 2020-03-17T10:34:51Z brendarn quit (Quit: WeeChat 2.7.1) 2020-03-17T10:39:03Z eMBee quit (Ping timeout: 245 seconds) 2020-03-17T10:39:04Z hugh_marera joined #scheme 2020-03-17T10:42:50Z brendyyn joined #scheme 2020-03-17T10:55:50Z xuxx quit (Quit: Lost terminal) 2020-03-17T11:05:10Z xkapastel joined #scheme 2020-03-17T11:06:15Z lockywolf joined #scheme 2020-03-17T11:15:06Z gmaggior joined #scheme 2020-03-17T11:16:58Z nerdypep- is now known as nerdypepper 2020-03-17T11:19:07Z xelxebar joined #scheme 2020-03-17T11:36:13Z z-memory joined #scheme 2020-03-17T11:41:56Z luni joined #scheme 2020-03-17T11:45:51Z v_m_v quit (Remote host closed the connection) 2020-03-17T11:46:33Z v_m_v joined #scheme 2020-03-17T11:49:10Z luni: hi all... i would like to define a syntactic extension to represent the elements i would like to extract from a matrix using a syntax like this m[e1:e2,e3:e4] where m is a given matrix and e1 to en represent integers for start-end rows and start-end columns. I have found a simple way to do it without using the characters for "[" "]" "," and ":", 2020-03-17T11:49:10Z luni: basically looks like (matrix-extract b 1 4 1 6) but i don't like it since i currently use keywords to represent what these integer "mean". How could be possible include also these characters in the syntax definition? 2020-03-17T11:49:27Z oxum quit (Remote host closed the connection) 2020-03-17T11:49:33Z v_m_v_ joined #scheme 2020-03-17T11:51:21Z luni: the question is a way to keep the notation compact.... otherwise is difficult to read 2020-03-17T11:51:48Z luni: Uploaded file: https://uploads.kiwiirc.com/files/50b2b6ecde6455f3ee1dd4afe432ac71/pasted.txt 2020-03-17T11:52:43Z v_m_v quit (Ping timeout: 250 seconds) 2020-03-17T11:53:47Z wasamasa: some scheme implementations have keywords 2020-03-17T11:54:47Z wasamasa: you could introduce a range type and a procedure to create these types 2020-03-17T11:55:20Z wasamasa: or just use lists :D 2020-03-17T11:55:30Z luni: yes i know... but i'm looking for a way to represent (matrix-submat vn #:start-row 1 #:end-row (- ny 1) #:start-column 1 #:end-column (- nx 1)) as (matrix-extract vn [1:(-ny 1),1:(- nx 1)]) 2020-03-17T11:55:38Z wasamasa: nope 2020-03-17T11:55:48Z wasamasa: you could use a mathy dsl for that which looks like s-expressions 2020-03-17T11:56:19Z stepnem_ joined #scheme 2020-03-17T11:56:27Z stepnem quit (Ping timeout: 260 seconds) 2020-03-17T11:56:31Z wasamasa: like (matrix (extract vn ((1 (-ny 1)) (1 (-nx 1))))) 2020-03-17T11:56:53Z daviid quit (Ping timeout: 265 seconds) 2020-03-17T11:56:55Z wasamasa: messing with lexical syntax is harder and implementation-specific 2020-03-17T11:57:30Z oxum joined #scheme 2020-03-17T11:57:43Z luni: ok... it's clear, thank you 2020-03-17T11:58:13Z oxum quit (Remote host closed the connection) 2020-03-17T11:58:24Z wasamasa: if your scheme allows interchangeable () and [], that would help a bit 2020-03-17T11:58:30Z klovett quit (Remote host closed the connection) 2020-03-17T11:58:47Z klovett joined #scheme 2020-03-17T12:01:25Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-17T12:05:13Z stepnem_ quit (Ping timeout: 246 seconds) 2020-03-17T12:05:24Z oxum joined #scheme 2020-03-17T12:06:08Z stepnem joined #scheme 2020-03-17T12:10:14Z lockywolf joined #scheme 2020-03-17T12:30:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-17T12:30:43Z cartwright quit (Ping timeout: 240 seconds) 2020-03-17T12:30:43Z madage quit (Ping timeout: 240 seconds) 2020-03-17T12:32:59Z xelxebar joined #scheme 2020-03-17T12:34:26Z brendyyn quit (Quit: WeeChat 2.7.1) 2020-03-17T12:35:01Z brendyyn joined #scheme 2020-03-17T12:38:30Z cartwright joined #scheme 2020-03-17T12:39:41Z TCZ joined #scheme 2020-03-17T12:40:04Z madage joined #scheme 2020-03-17T12:46:12Z jobol quit (Quit: Leaving) 2020-03-17T12:49:55Z v_m_v_ quit (Read error: Connection reset by peer) 2020-03-17T12:50:31Z v_m_v joined #scheme 2020-03-17T12:57:26Z oxum quit (Remote host closed the connection) 2020-03-17T12:59:15Z oxum joined #scheme 2020-03-17T13:01:31Z oxum quit (Remote host closed the connection) 2020-03-17T13:02:56Z oxum joined #scheme 2020-03-17T13:07:58Z jboy joined #scheme 2020-03-17T13:08:36Z luni quit (Remote host closed the connection) 2020-03-17T13:12:54Z oxum quit (Remote host closed the connection) 2020-03-17T13:18:27Z lritter joined #scheme 2020-03-17T13:27:20Z lucasb joined #scheme 2020-03-17T13:29:39Z qu1j0t3 left #scheme 2020-03-17T13:49:27Z X-Scale` joined #scheme 2020-03-17T13:50:19Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-17T13:50:19Z X-Scale` is now known as X-Scale 2020-03-17T13:52:09Z z-memory quit (Quit: Connection closed for inactivity) 2020-03-17T13:53:02Z oxum joined #scheme 2020-03-17T13:57:55Z oxum quit (Ping timeout: 246 seconds) 2020-03-17T13:59:51Z oxum joined #scheme 2020-03-17T14:01:24Z acarrico quit (Ping timeout: 256 seconds) 2020-03-17T14:04:17Z oxum quit (Ping timeout: 246 seconds) 2020-03-17T14:12:05Z v_m_v quit (Remote host closed the connection) 2020-03-17T14:22:02Z badkins joined #scheme 2020-03-17T14:26:20Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T14:29:22Z gendarme joined #scheme 2020-03-17T14:29:28Z jao joined #scheme 2020-03-17T14:30:28Z v_m_v joined #scheme 2020-03-17T14:31:32Z v_m_v quit (Read error: Connection reset by peer) 2020-03-17T14:32:13Z acarrico joined #scheme 2020-03-17T14:32:52Z oxum joined #scheme 2020-03-17T14:33:02Z gendarme quit (Remote host closed the connection) 2020-03-17T14:33:45Z v_m_v joined #scheme 2020-03-17T14:34:16Z v_m_v_ joined #scheme 2020-03-17T14:34:18Z v_m_v quit (Read error: Connection reset by peer) 2020-03-17T14:34:43Z v_m_v joined #scheme 2020-03-17T14:35:12Z gendarme joined #scheme 2020-03-17T14:35:48Z badkins joined #scheme 2020-03-17T14:38:21Z kritixilithos joined #scheme 2020-03-17T14:38:31Z v_m_v_ quit (Ping timeout: 246 seconds) 2020-03-17T14:39:14Z kritixil1 joined #scheme 2020-03-17T14:42:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-17T14:45:11Z oxum quit (Ping timeout: 250 seconds) 2020-03-17T14:45:49Z kritixilithos joined #scheme 2020-03-17T14:46:24Z kritixil1 quit (Remote host closed the connection) 2020-03-17T14:46:39Z kritixilithos quit (Client Quit) 2020-03-17T14:47:34Z kritixilithos joined #scheme 2020-03-17T14:48:29Z kritixilithos quit (Client Quit) 2020-03-17T14:50:11Z RRedcroft joined #scheme 2020-03-17T14:52:26Z kritixilithos joined #scheme 2020-03-17T14:55:07Z luni joined #scheme 2020-03-17T14:55:24Z gendarme quit (Quit: gendarme) 2020-03-17T14:55:54Z gendarme joined #scheme 2020-03-17T15:04:05Z jjongMcCarthy joined #scheme 2020-03-17T15:04:53Z gendarme quit (Quit: gendarme) 2020-03-17T15:07:29Z sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-17T15:21:26Z oxum joined #scheme 2020-03-17T15:23:39Z lritter quit (Remote host closed the connection) 2020-03-17T15:25:20Z lritter joined #scheme 2020-03-17T15:34:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-17T15:34:46Z luni quit (Remote host closed the connection) 2020-03-17T15:36:24Z sammich joined #scheme 2020-03-17T15:36:58Z drakonis joined #scheme 2020-03-17T15:41:29Z liulanghaitun quit (Quit: Leaving.) 2020-03-17T15:46:35Z Lysandros quit (Quit: brb) 2020-03-17T15:51:02Z brendyyn quit (Ping timeout: 246 seconds) 2020-03-17T15:52:33Z RRedcroft quit (Ping timeout: 256 seconds) 2020-03-17T15:55:25Z jjongMcCarthy quit (Remote host closed the connection) 2020-03-17T15:57:45Z Lysandros joined #scheme 2020-03-17T15:59:55Z oxum quit (Remote host closed the connection) 2020-03-17T16:03:59Z v_m_v_ joined #scheme 2020-03-17T16:07:25Z v_m_v quit (Ping timeout: 264 seconds) 2020-03-17T16:13:40Z oxum joined #scheme 2020-03-17T16:19:35Z v_m_v_ quit (Remote host closed the connection) 2020-03-17T16:35:07Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:35:37Z lockywolf joined #scheme 2020-03-17T16:37:38Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:38:05Z lockywolf joined #scheme 2020-03-17T16:38:25Z badkins quit (Remote host closed the connection) 2020-03-17T16:39:28Z badkins joined #scheme 2020-03-17T16:40:07Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:40:35Z lockywolf joined #scheme 2020-03-17T16:42:38Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:43:06Z skapata joined #scheme 2020-03-17T16:43:12Z lockywolf joined #scheme 2020-03-17T16:43:34Z whiteline quit (Read error: Connection reset by peer) 2020-03-17T16:43:46Z whiteline joined #scheme 2020-03-17T16:43:55Z badkins quit (Ping timeout: 250 seconds) 2020-03-17T16:44:07Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:44:32Z lockywolf joined #scheme 2020-03-17T16:44:35Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-17T16:45:17Z TCZ quit (Quit: Leaving) 2020-03-17T16:45:37Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:46:16Z lockywolf joined #scheme 2020-03-17T16:47:06Z lockywolf quit (Max SendQ exceeded) 2020-03-17T16:49:47Z lockywolf joined #scheme 2020-03-17T16:50:39Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:51:05Z lockywolf joined #scheme 2020-03-17T16:52:05Z luni joined #scheme 2020-03-17T16:53:08Z lockywolf quit (Remote host closed the connection) 2020-03-17T16:53:32Z lockywolf joined #scheme 2020-03-17T16:54:41Z xkapastel joined #scheme 2020-03-17T16:56:32Z klovett quit 2020-03-17T17:02:15Z TCZ joined #scheme 2020-03-17T17:07:27Z oxum quit (Remote host closed the connection) 2020-03-17T17:12:12Z kritixilithos joined #scheme 2020-03-17T17:21:15Z badkins joined #scheme 2020-03-17T17:25:18Z badkins quit (Remote host closed the connection) 2020-03-17T17:25:28Z badkins joined #scheme 2020-03-17T17:29:29Z v_m_v_ joined #scheme 2020-03-17T17:32:05Z v_m_v_ quit (Remote host closed the connection) 2020-03-17T17:36:45Z jcowan wishes that parameters had finalizers as well as initializers 2020-03-17T17:36:58Z klovett joined #scheme 2020-03-17T17:40:15Z ecraven: ;) I wish so many things had finalizers :-/ 2020-03-17T17:42:02Z jcowan: Standard GC-based finalizers may or may not ever run: the thing about parameterize is its eager and locally scoped destruction (except it doesn't actually destroy anything). 2020-03-17T17:43:27Z jcowan: call-with-port and its variants also behave like this 2020-03-17T17:44:28Z ecraven: imho, it would be nice to have more locally scoped things in Scheme, where you can rely on no consing going on 2020-03-17T17:44:38Z ecraven: maybe this is just a question for the compiler, not for the actual language 2020-03-17T17:45:10Z kritixilithos quit (Quit: quit) 2020-03-17T17:45:17Z dgtlcmo joined #scheme 2020-03-17T17:47:19Z oxum joined #scheme 2020-03-17T17:47:32Z retropikzel joined #scheme 2020-03-17T17:52:40Z oxum quit (Ping timeout: 256 seconds) 2020-03-17T17:54:27Z jcowan: like dynamic-extent in CL, only more so? 2020-03-17T17:59:59Z retropikzel quit (Quit: Leaving) 2020-03-17T18:00:22Z retropikzel joined #scheme 2020-03-17T18:01:01Z retropikzel quit (Client Quit) 2020-03-17T18:02:00Z Retropikzel_ joined #scheme 2020-03-17T18:03:19Z Retropikzel_ quit (Client Quit) 2020-03-17T18:11:33Z Retropikzel joined #scheme 2020-03-17T18:11:45Z seepel joined #scheme 2020-03-17T18:12:36Z zaifir: luni: The tricky thing about the macro you want to write is that it's not an S-expression syntax. 2020-03-17T18:18:10Z seepel quit (Ping timeout: 256 seconds) 2020-03-17T18:30:13Z TCZ quit (Ping timeout: 264 seconds) 2020-03-17T18:34:52Z seepel joined #scheme 2020-03-17T18:36:46Z oni-on-ion: =) 2020-03-17T18:41:23Z seepel1 joined #scheme 2020-03-17T18:43:35Z seepel quit (Ping timeout: 246 seconds) 2020-03-17T18:46:11Z RRedcroft joined #scheme 2020-03-17T18:52:16Z Retropikzel quit (Ping timeout: 246 seconds) 2020-03-17T18:52:41Z badkins quit (Remote host closed the connection) 2020-03-17T18:53:25Z badkins joined #scheme 2020-03-17T18:56:33Z luni left #scheme 2020-03-17T18:58:25Z badkins quit (Ping timeout: 264 seconds) 2020-03-17T18:58:29Z luni joined #scheme 2020-03-17T19:06:15Z badkins joined #scheme 2020-03-17T19:06:16Z RRedcroft quit (Ping timeout: 246 seconds) 2020-03-17T19:20:21Z seepel1 quit (Ping timeout: 250 seconds) 2020-03-17T19:25:46Z ggole quit (Quit: Leaving) 2020-03-17T19:26:32Z seepel1 joined #scheme 2020-03-17T19:34:29Z klovett quit 2020-03-17T19:37:31Z zaifir: luni: You can easily write (e.g. with syntax-rules) something very similar to what you have: (matrix-extract vn (1 : (- ny 1)) (1 : (- nx 1))) 2020-03-17T19:39:35Z zaifir: luni: And in many Scheme you can use [] and () interchangeably (although this is non-standard outside of R6), so you could happily write those inner expressions with brackets! 2020-03-17T19:39:45Z zaifir: s/Scheme/Schemes/ 2020-03-17T19:46:42Z zaifir: luni: https://paste.debian.net/1135316/ 2020-03-17T19:47:06Z zaifir: Oops, missing final paren. But it works, otherwise. 2020-03-17T19:48:37Z oxum joined #scheme 2020-03-17T19:50:27Z luni: ok... thank you 2020-03-17T19:51:14Z luni: i think it helps me to keeps things manageable 2020-03-17T19:55:52Z zaifir: luni: yw. I guess I don't find the 5-argument submatrix function that hard to manage. But the range-notation macro might be clearer in some cases. 2020-03-17T19:58:28Z luni: yes for sure... 2020-03-17T19:58:35Z luni: Uploaded file: https://uploads.kiwiirc.com/files/3bde6d5e11f5c0540c1ea6f06271e6ea/pasted.txt 2020-03-17T19:58:52Z luni: for example this is a part of what i should do ^^ 2020-03-17T19:59:06Z zaifir: Oof, yeah. 2020-03-17T19:59:07Z luni: as you see the range notation help to keep thing concise 2020-03-17T20:00:03Z zaifir: Concise and somewhat unintelligble... 2020-03-17T20:00:46Z terpri quit (Remote host closed the connection) 2020-03-17T20:01:14Z terpri joined #scheme 2020-03-17T20:01:15Z luni: zaifir: this is what i'm trying to do... https://github.com/barbagroup/CFDPython/blob/master/lessons/14_Step_11.ipynb 2020-03-17T20:04:08Z zaifir: luni: Yeah, that's pretty hairy. 2020-03-17T20:04:38Z luni: yes... easy but hairy, so i was asking for a concise notation 2020-03-17T20:05:38Z zaifir: luni: There isn't one in Lisp, at least not something like Python's range notation. 2020-03-17T20:06:37Z zaifir: luni: Code involving a lot of math is one place where Lisp's prefix notation starts to become kind of a pain, IMHO. 2020-03-17T20:07:36Z luni: i'm "refactoring" everything is possible by hands 2020-03-17T20:07:36Z pjb: zaifir: Sussman disagrees. 2020-03-17T20:07:40Z pjb: zaifir: see sicm. 2020-03-17T20:07:58Z pjb: zaifir: https://groups.csail.mit.edu/mac/users/gjs/6946/sicm-html/book.html 2020-03-17T20:08:02Z zaifir: The best you can do is probably a procedure with a really short name, e.g. (define sm submatrix) or something. 2020-03-17T20:08:17Z pjb: Not really. 2020-03-17T20:08:23Z pjb: sicm ^ 2020-03-17T20:08:36Z zaifir: pjb: More precise link, please? That's just the title page. 2020-03-17T20:08:59Z pjb: Follow the White Rabit !!! https://groups.csail.mit.edu/mac/users/gjs/6946/sicm-html/book-Z-H-3.html#%_toc_start 2020-03-17T20:09:43Z luni: that will be a good read 2020-03-17T20:09:51Z zaifir: pjb: That's not much more help. 2020-03-17T20:10:02Z izh_ joined #scheme 2020-03-17T20:10:05Z pjb: zaifir: if you don't want to read, there's a video. 2020-03-17T20:10:55Z aeth: luni: As zaifir said, it's not s-expression syntax so a normal macro can't be used. You need reader macros (well, that's CL terminology), which not every Scheme will offer. 2020-03-17T20:11:22Z seepel1 quit (Ping timeout: 246 seconds) 2020-03-17T20:11:24Z zaifir: luni: FWIW, Jeff Siskind wrote a really good linear algebra library https://github.com/abarbu/linear-algebra He, too, defines ‘submatrix’ with 5 arguments, and there's no shortcut. 2020-03-17T20:11:27Z aeth: Essentially, if you support reader macros, you let the user override parts of the read procedure to support arbitrary syntax 2020-03-17T20:11:51Z pjb: Perhaps this one: https://www.youtube.com/watch?v=Rk76BurH384 2020-03-17T20:11:56Z aeth: (And like with continuations, limited reader macros are probably better than the full, powerful reader macros IMO.) 2020-03-17T20:12:29Z jcowan: aeth: Do you mean something specific by "limited reader macros"? 2020-03-17T20:12:35Z zaifir: pjb: I like the book, and I appreciate your suggesting it. There was a discussion of a specific problem going on, though, so it's a bit difficult to see what SICM has to do with it without a specific page reference. 2020-03-17T20:13:02Z aeth: jcowan: Yes, CL has dispatch reader macros on characters following a "#". This is almost the right way, but it can be painful to actually ensure that it doesn't eat too much. 2020-03-17T20:13:03Z badkins quit (Remote host closed the connection) 2020-03-17T20:13:13Z jcowan: Oh, limited in that sense 2020-03-17T20:13:25Z jcowan: I thought you mean locally scoped or something 2020-03-17T20:13:37Z zaifir: AFK, bbiab. 2020-03-17T20:13:38Z badkins joined #scheme 2020-03-17T20:13:39Z jcowan: or limited in power to something not Turing-complete 2020-03-17T20:13:39Z aeth: jcowan: The reader macro design I'm going to be using for Airship Scheme will be a modification of dispatch reader macros so e.g. #z(...) will be handled properly as would (list #z #z #z) 2020-03-17T20:13:56Z aeth: jcowan: Essentially, the additional restriction will ensure that the outer containing s-expression remains valid 2020-03-17T20:14:04Z aeth: With CL reader macros, it's too easy for #z) to eat the ), for instance 2020-03-17T20:14:07Z jcowan: I'd say, dispatch on the identifier-like that follows the # 2020-03-17T20:14:13Z aeth: and #z(...) needs to manually balance if you do it 2020-03-17T20:14:29Z seepel1 joined #scheme 2020-03-17T20:14:30Z jcowan: thus #sizzle and #sazzle are trivial for the user to provide 2020-03-17T20:14:38Z pjb: or this one rather: https://www.youtube.com/watch?v=fAY0_pesZ6s 2020-03-17T20:15:15Z pjb: zaifir: in short, use in-extenso notations. 2020-03-17T20:15:32Z aeth: jcowan: I'm going to be doing an extension (restriction?) of CL dispatch reader macros to (1) support longer identifiers than one-character, (2) maintain parentheses balancing if immediately followed by a #\(, and (3) automatically stop on the #\) or whitespace without eating it so (list #z) doesn't eat the #\) 2020-03-17T20:15:43Z aeth: This makes it easier to embed them within s-expressions 2020-03-17T20:16:37Z notzmv quit (Remote host closed the connection) 2020-03-17T20:16:57Z aeth: On #2, I mean that if it uses #z( to begin with, you will be contained within that, and the macro ends at the balanced #\) 2020-03-17T20:16:59Z jcowan: I think the things we need are # prefixes like that and the ability to define what paired delimiters mean. 2020-03-17T20:17:18Z jcowan: Right, but #z32 should also be valid 2020-03-17T20:17:30Z jcowan: (or at least rejected at a higher level 2020-03-17T20:17:56Z jcowan: #dec 32.45 for a decimal float value 2020-03-17T20:18:18Z badkins quit (Ping timeout: 256 seconds) 2020-03-17T20:18:20Z jcowan tries to find a list of paired delimiters 2020-03-17T20:18:51Z pjb: jcowan: grep -e 'LEFT\|RIGHT' unicode-names.txt 2020-03-17T20:19:10Z aeth: Well, in my design you would have to do #dec32.45 or #dec(32.45) because #dec 32.45 breaks the limited nature of these reader macros. That is, it must either be an atom in and of itself, or it must be an s-expression 2020-03-17T20:19:11Z jcowan: never a good idea to rely on that 2020-03-17T20:19:28Z aeth: #i(x + y * z) is perfectly fine for reader infix, but it has to be contained in a way that's limited 2020-03-17T20:19:50Z aeth: In a sense "#i(x + y * z)" as a whole is an atom 2020-03-17T20:19:55Z jcowan: Why isn't #dec32.45 the tag #dec32 followed by the number .5? 2020-03-17T20:19:56Z aeth: Perhaps "atomic reader macros" is a way to describe it 2020-03-17T20:20:35Z aeth: jcowan: It could be, it's up to the reader macro to decide what it's doing. The important thing is that it remains a Scheme atom 2020-03-17T20:21:13Z jcowan: I'm suggesting a slightly different model: tag followed by S-expression 2020-03-17T20:21:43Z jcowan: where tag is # followed by identifier 2020-03-17T20:21:50Z jcowan: What do you think about paired delimiters? 2020-03-17T20:22:26Z seepel1 quit (Remote host closed the connection) 2020-03-17T20:22:55Z oxum quit (Ping timeout: 246 seconds) 2020-03-17T20:22:56Z seepel1 joined #scheme 2020-03-17T20:23:03Z aeth: Well, in my opinion, the important thing to design is that it can't contain whitespace or #\) unless it first has a #\( in which case a balanced #\) terminates it. So it can have as many internal parens as it wants (e.g. an infix reader macro) as long as they remain balanced. 2020-03-17T20:23:17Z jcowan: pjb: < and > are paired punctuation but don't have LEFT and RIGHT in their names 2020-03-17T20:23:40Z jcowan: aeth: Both designs have that 2020-03-17T20:23:52Z aeth: Permitting a space makes it two atoms, though. 2020-03-17T20:24:33Z jcowan: I don't understand what the objection is to #date "2020-05-05" 2020-03-17T20:25:15Z aeth: #date "2020-05-05" makes it up to the semantics of the reader macro whether that is #date followed by "2020-05-05" (like #t "2020-05-05 would be) or one atom called #date "2020-05-05" 2020-03-17T20:25:59Z aeth: It's fine if it would be an atom either way, I guess, but it would be bad if it's syntactically invalid after the space. 2020-03-17T20:26:21Z aeth: (I mean, if it would have been syntactically invalid had the #date not been there) 2020-03-17T20:26:38Z jcowan: What about #date"2020-05-05"? 2020-03-17T20:26:57Z aeth: that's perfectly fine because it does not contain an imbalanced #\) or whitespace 2020-03-17T20:27:10Z jcowan: but #name"Simon Peyton Jones" fails? 2020-03-17T20:27:18Z aeth: hmm 2020-03-17T20:27:29Z aeth: See, I would just use #name(Simon Peyton Jones) 2020-03-17T20:27:41Z jcowan: I think you can't get away from knowing which tags take one argument and which take none 2020-03-17T20:27:51Z jcowan: (having the reader know that, I mean) 2020-03-17T20:29:01Z aeth: I suppose "s could be used as another special case delimiter like balanced ()s, with a different rule, where the second " unless escaped terminates the pattern so #name"Foo Bar" or #name"Foo \" Bar" 2020-03-17T20:29:22Z aeth: Perhaps even allowing (), [], <>, and "" all for that purpose 2020-03-17T20:29:34Z aeth: (where " behaves subtly different from the first 3 because it can't be balanced) 2020-03-17T20:30:30Z notzmv joined #scheme 2020-03-17T20:30:50Z aeth: I also realized that I don't currently permit a way for ) to be escaped inside of the reader macro 2020-03-17T20:31:15Z gwatt: Not even with a literal "#\)" ? 2020-03-17T20:31:37Z aeth: gwatt: This is a reader macro, you could do #cpp(...) and embed C++ source code within it. 2020-03-17T20:32:23Z wasamasa: nah, you should do a cdata one :D 2020-03-17T20:32:50Z jcowan: On my model, you'd write #cpp"..." and the regular rules for string escaping would apply, because the "..." part *is* a string. 2020-03-17T20:33:05Z aeth: yes, but now you have to escape every " so it might not be better. 2020-03-17T20:33:28Z aeth: maybe there can be some directive system where the reader macro can tell it to ignore a ) for the purpose of balancing, like when it's #cpp("foo)") 2020-03-17T20:33:48Z jcowan: So: when you see #foo, check if the foo tag is 0-arg or 1-arg. If the former, call the handler. If the latter, call read recursively and call the handler passing the object read. 2020-03-17T20:34:12Z jcowan: This is absolutely uniform, requires no special hacks, etc. 2020-03-17T20:34:31Z jcowan: s/handler/handler for #foo 2020-03-17T20:35:02Z pjb: jcowan: yes, but there's LEFT ANGLE BRACKET〈 and RIGHT ANGLE BRACKET 〉 2020-03-17T20:35:28Z jcowan: so (register-read-tag! symbol handler takes-argument?) 2020-03-17T20:36:50Z jcowan: I actually found a definition for paired parens: two characters are paired if one is Ps and the other is Pe, they both have the mirrored property, and the bidi_mirroring_glyph for each one is the other. 2020-03-17T20:38:27Z aeth: jcowan: I think it's probably sufficient to just support both () and "" because then in a case where () fails, "" will still work because of the different rules, and in a case where "" is inconvenient, () can be used, sort of like how in Lua, foo.bar and foo["bar"] is synonymous and rarely you *need* to use foo["bar"] 2020-03-17T20:39:01Z jcowan: I want to be able to say what {...} means by itself, though. 2020-03-17T20:39:02Z aeth: e.g. foo.and is invalid in Lua because it's a keyword, but foo["and"] still works 2020-03-17T20:39:13Z jcowan: also foo["bar baz"] 2020-03-17T20:41:47Z badkins joined #scheme 2020-03-17T20:47:37Z badkins quit (Ping timeout: 264 seconds) 2020-03-17T20:49:15Z brendyyn joined #scheme 2020-03-17T20:54:22Z klovett joined #scheme 2020-03-17T21:02:01Z seepel1 quit (Ping timeout: 264 seconds) 2020-03-17T21:13:42Z badkins joined #scheme 2020-03-17T21:14:50Z enderby quit (Remote host closed the connection) 2020-03-17T21:18:39Z badkins quit (Ping timeout: 250 seconds) 2020-03-17T21:21:41Z badkins joined #scheme 2020-03-17T21:36:23Z TCZ joined #scheme 2020-03-17T21:38:38Z badkins quit (Ping timeout: 250 seconds) 2020-03-17T21:39:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-17T21:39:59Z badkins joined #scheme 2020-03-17T21:48:23Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T21:50:04Z badkins joined #scheme 2020-03-17T21:54:11Z badkins quit (Ping timeout: 250 seconds) 2020-03-17T21:56:30Z izh_ quit (Quit: Leaving) 2020-03-17T22:10:02Z daviid joined #scheme 2020-03-17T22:13:52Z torbo joined #scheme 2020-03-17T22:19:02Z badkins joined #scheme 2020-03-17T22:19:52Z CORDIC joined #scheme 2020-03-17T22:19:55Z DKordic quit (Read error: Connection reset by peer) 2020-03-17T22:26:11Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T22:31:58Z stee left #scheme 2020-03-17T22:32:23Z badkins joined #scheme 2020-03-17T22:36:54Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-17T22:44:35Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-17T22:51:16Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-17T22:55:32Z seepel1 joined #scheme 2020-03-17T23:13:22Z Khisanth quit (Ping timeout: 246 seconds) 2020-03-17T23:21:09Z badkins quit (Remote host closed the connection) 2020-03-17T23:21:53Z badkins joined #scheme 2020-03-17T23:26:23Z badkins quit (Ping timeout: 246 seconds) 2020-03-17T23:26:34Z Khisanth joined #scheme 2020-03-17T23:27:36Z seepel2 joined #scheme 2020-03-17T23:29:57Z seepel1 quit (Ping timeout: 250 seconds) 2020-03-17T23:33:44Z hugh_marera quit (Quit: hugh_marera) 2020-03-17T23:35:58Z seepel2 quit (Quit: Leaving) 2020-03-17T23:36:16Z seepel joined #scheme 2020-03-17T23:44:41Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-17T23:47:01Z TCZ quit (Quit: Leaving) 2020-03-17T23:48:16Z lritter quit (Quit: Leaving) 2020-03-17T23:52:05Z badkins joined #scheme 2020-03-17T23:54:31Z badkins quit (Remote host closed the connection) 2020-03-17T23:54:39Z badkins joined #scheme 2020-03-18T00:02:03Z badkins quit 2020-03-18T00:03:52Z hugh_marera joined #scheme 2020-03-18T00:03:53Z hugh_marera quit (Remote host closed the connection) 2020-03-18T00:14:01Z seepel quit (Ping timeout: 264 seconds) 2020-03-18T00:20:27Z oxum joined #scheme 2020-03-18T00:41:30Z dgtlcmo quit (Quit: Lost terminal) 2020-03-18T00:54:01Z oxum quit (Ping timeout: 250 seconds) 2020-03-18T00:54:20Z TCZ joined #scheme 2020-03-18T01:03:20Z epony quit (Remote host closed the connection) 2020-03-18T01:04:12Z luni quit (Remote host closed the connection) 2020-03-18T01:04:53Z oxum joined #scheme 2020-03-18T01:08:59Z lockywolf joined #scheme 2020-03-18T01:14:38Z gmaggior quit (Quit: Leaving) 2020-03-18T01:18:01Z epony joined #scheme 2020-03-18T01:37:19Z oxum quit (Remote host closed the connection) 2020-03-18T01:38:45Z jackhill quit (Quit: leaving) 2020-03-18T01:39:05Z jackhill joined #scheme 2020-03-18T01:46:32Z lockywolf_ joined #scheme 2020-03-18T01:49:14Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-18T01:55:10Z xlei quit (Ping timeout: 255 seconds) 2020-03-18T01:57:18Z xlei joined #scheme 2020-03-18T02:10:49Z TCZ quit (Quit: Leaving) 2020-03-18T02:12:22Z oxum joined #scheme 2020-03-18T02:17:16Z oxum quit (Ping timeout: 250 seconds) 2020-03-18T02:24:06Z oxum joined #scheme 2020-03-18T02:41:06Z klovett_ joined #scheme 2020-03-18T02:42:13Z klovett quit (Ping timeout: 264 seconds) 2020-03-18T02:45:26Z klovett_ quit (Ping timeout: 250 seconds) 2020-03-18T02:49:21Z oxum quit (Remote host closed the connection) 2020-03-18T02:49:32Z klovett joined #scheme 2020-03-18T02:54:13Z klovett quit (Ping timeout: 264 seconds) 2020-03-18T02:56:46Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-18T02:57:37Z X-Scale` joined #scheme 2020-03-18T02:58:06Z X-Scale` is now known as X-Scale 2020-03-18T03:01:00Z torbo quit (Remote host closed the connection) 2020-03-18T03:12:59Z lavaflow quit (Ping timeout: 260 seconds) 2020-03-18T03:14:53Z lavaflow joined #scheme 2020-03-18T03:16:21Z vyzo quit (Ping timeout: 258 seconds) 2020-03-18T03:22:20Z klovett joined #scheme 2020-03-18T03:25:49Z oxum joined #scheme 2020-03-18T03:30:53Z oxum quit (Ping timeout: 250 seconds) 2020-03-18T03:41:35Z vyzo joined #scheme 2020-03-18T03:59:06Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T04:04:06Z oxum joined #scheme 2020-03-18T04:04:57Z oxum quit (Remote host closed the connection) 2020-03-18T04:05:14Z oxum joined #scheme 2020-03-18T04:38:12Z oni-on-ion quit (Ping timeout: 268 seconds) 2020-03-18T04:46:45Z klovett joined #scheme 2020-03-18T04:51:58Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T05:02:19Z nckx quit (Quit: Updating my Guix System — https://guix.gnu.org) 2020-03-18T05:04:08Z nckx joined #scheme 2020-03-18T05:12:44Z jao quit (Remote host closed the connection) 2020-03-18T05:18:15Z jao joined #scheme 2020-03-18T05:18:23Z jao is now known as Guest98886 2020-03-18T05:18:28Z Guest98886 quit (Remote host closed the connection) 2020-03-18T05:19:04Z jao- joined #scheme 2020-03-18T05:20:25Z jao- is now known as jao 2020-03-18T05:21:23Z sarna quit (Quit: bye) 2020-03-18T05:23:00Z sarna joined #scheme 2020-03-18T05:25:42Z jao quit (Ping timeout: 256 seconds) 2020-03-18T05:26:43Z notzmv: anyone here ever tried writing a chess engine in scheme? I'd like a recommendation on impls to work on 2020-03-18T05:27:01Z notzmv: or is it better to just use CL anyway? 2020-03-18T05:32:34Z nisstyre: I'm sure it's been done 2020-03-18T05:32:48Z nisstyre: you might want to look into miniKanren if you're doing backtracking 2020-03-18T05:34:33Z notzmv: wow, that's interesting! 2020-03-18T05:34:39Z notzmv: thank you 2020-03-18T05:41:02Z klovett joined #scheme 2020-03-18T05:47:01Z klovett quit (Ping timeout: 264 seconds) 2020-03-18T05:50:43Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-18T05:56:09Z gravicappa joined #scheme 2020-03-18T06:19:57Z deesix quit (Ping timeout: 268 seconds) 2020-03-18T06:31:42Z gravicappa quit (Remote host closed the connection) 2020-03-18T06:35:15Z klovett joined #scheme 2020-03-18T06:39:56Z klovett quit (Ping timeout: 256 seconds) 2020-03-18T06:46:01Z skapata quit (Remote host closed the connection) 2020-03-18T06:51:33Z luni joined #scheme 2020-03-18T07:20:09Z jobol joined #scheme 2020-03-18T07:29:45Z klovett joined #scheme 2020-03-18T07:34:02Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T07:47:01Z lavaflow quit (Ping timeout: 264 seconds) 2020-03-18T08:09:28Z oxum quit (Remote host closed the connection) 2020-03-18T08:23:48Z klovett joined #scheme 2020-03-18T08:25:31Z civodul joined #scheme 2020-03-18T08:28:09Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T08:37:58Z gmaggior joined #scheme 2020-03-18T08:39:10Z pinoaffe1 joined #scheme 2020-03-18T08:42:41Z oxum joined #scheme 2020-03-18T08:51:33Z oxum quit (Remote host closed the connection) 2020-03-18T08:51:48Z oxum joined #scheme 2020-03-18T08:54:22Z sarna left #scheme 2020-03-18T09:00:42Z pmden joined #scheme 2020-03-18T09:08:21Z jobol quit (Read error: Connection reset by peer) 2020-03-18T09:08:27Z jobol_ joined #scheme 2020-03-18T09:11:31Z jobol_ quit (Read error: Connection reset by peer) 2020-03-18T09:13:12Z jobol joined #scheme 2020-03-18T09:17:58Z klovett joined #scheme 2020-03-18T09:18:40Z tdammers: I would wager that a chess engine that is fast enough to be competitive would require at least some heavy-lifting code to be written in something low-level 2020-03-18T09:19:55Z aeth: As long as you can avoid the overhead of the GC, you should be able to do it in a Scheme, although who knows if any currently existing implementation is capable. 2020-03-18T09:20:27Z oxum quit (Remote host closed the connection) 2020-03-18T09:22:19Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T09:23:22Z oxum joined #scheme 2020-03-18T09:28:02Z kritixilithos joined #scheme 2020-03-18T09:35:30Z Lysandros: tdammers, chess is easy! all you need is a big stack and time and recurse your way to victory ;D 2020-03-18T09:36:05Z tdammers: we're talking low-level optimizations like branch prediction and cache alignment here 2020-03-18T09:36:17Z tdammers: you *can* probably get there in Scheme 2020-03-18T09:36:32Z Lysandros: (I'm not even remotely serious) 2020-03-18T09:36:33Z tdammers: especially if you somehow conjure up a scheme designed for this kind of thing 2020-03-18T09:36:41Z tdammers: but it'll definitely be painful 2020-03-18T09:36:46Z aeth: bytevectors? 2020-03-18T09:36:54Z tdammers: that's a starting point 2020-03-18T09:36:58Z aeth: You can go a long way with bytevectors 2020-03-18T09:37:11Z aeth: I mean, that's all C is :-p 2020-03-18T09:37:36Z tdammers: yes, but you probably also want to do stuff like pin memory down, allocate boards from a pool specially crafted to reside in contiguous memory, stuff like that 2020-03-18T09:38:01Z aeth: ranges in a bytevector will (probably) be contiguous 2020-03-18T09:38:13Z tdammers: yes, but not across multiple bytevectors 2020-03-18T09:38:31Z aeth: You'd need to architect it to essentially do everything in one big bytevector if possible 2020-03-18T09:38:35Z tdammers: exactly 2020-03-18T09:39:02Z tdammers: but doing that requires some kind of data structure that is essentially "pointer into bytevector", or "bytevector ref + offset" 2020-03-18T09:39:23Z tdammers: but if, then, you box that thing, you're introducing an additional pointer indirection, which you can easily avoid in C 2020-03-18T09:41:47Z tdammers: I think if I had to do it in scheme, I'd probably resort to designing an EDSL that self-compiles to C, and then shells out to a C compiler, and runs the resulting program 2020-03-18T09:42:00Z aeth: tdammers: jcowan might know a way around this indirection 2020-03-18T09:42:27Z tdammers: aeth: fortuanately, I'm not in the business of writing competitive chess engines 2020-03-18T09:42:52Z aeth: well, the way to write a competitive chess engine is to use machine learning now :-p 2020-03-18T09:43:10Z tdammers: using an engine written in something low-level, like C or C++ or D or Rust 2020-03-18T09:43:23Z aeth: eh 2020-03-18T09:43:51Z aeth: A Lisp can be as low-level as D, it's just a matter of extensions and optimizations. 2020-03-18T09:43:59Z tdammers: I find it hilarious btw., how the availability of ML libraries completely shifts the demographics of who is eager to do ML stuff now 2020-03-18T09:44:33Z tdammers: it used to be tinkerers and academics, people who love the theory stuff and principled reasoning 2020-03-18T09:44:42Z tdammers: now it's mostly the get-shit-done demographic 2020-03-18T09:47:59Z lockywolf_ quit (Ping timeout: 246 seconds) 2020-03-18T09:49:55Z tdammers: and, yes, of course, "lisp" isn't enough of a language spec to rule out low-level memory fiddling 2020-03-18T09:50:30Z wasamasa: there's a few with interesting limitations to get that far 2020-03-18T09:51:01Z tdammers: in any case, you would probably have to sacrifice some memory safety 2020-03-18T09:51:23Z wasamasa: not necessarily 2020-03-18T09:51:38Z wasamasa: if you can prove all memory access in a program is correct, you can omit bounds checks 2020-03-18T09:51:56Z tdammers: right, yes, if you can do static checking 2020-03-18T09:52:01Z tdammers: that's what Rust does 2020-03-18T09:52:24Z aeth: Common Lisp would just let you do a type declaration to say what the length is 2020-03-18T09:52:53Z wasamasa: generally I'd like to see a bit more static checks, like ensuring all argument counts are right 2020-03-18T09:52:53Z aeth: Then it does that type (and length) check once and you can do whatever you want internally without bounds checks, if the compiler is optimizing 2020-03-18T09:53:29Z tdammers: the way I envision it is that at some point, you have to have a pointer to a subregion of another memory region, so you need to make sure that the lifecycle of that subregion pointer is a subset of the lifecycle of the containing region 2020-03-18T09:54:05Z wasamasa: carp is one of those I'm thinking of, it's relatively static compared to others 2020-03-18T09:55:04Z tdammers: you could also do it with a lisp that has C++-style RAII 2020-03-18T09:55:20Z wasamasa: yeah, I'm looking one of that kind up 2020-03-18T09:55:36Z tdammers: the elephant in the room with those of course being closures and continuations 2020-03-18T09:55:56Z tdammers: (which, incidentally, is also where it routinely breaks in C++) 2020-03-18T09:56:45Z wasamasa: https://old.reddit.com/r/lisp/comments/4mtktn/bone_01_lisp_without_garbage_collection/ 2020-03-18T09:58:25Z tdammers: heh 2020-03-18T09:58:33Z tdammers: https://old.reddit.com/r/lisp/comments/4mtktn/bone_01_lisp_without_garbage_collection/d6qgjjg/ from the same thread is kind of the pipe dream, isn't it 2020-03-18T09:59:16Z tdammers: although I strongly disagree on the "significant indentation" part 2020-03-18T09:59:22Z tdammers: that one is just a mistake 2020-03-18T09:59:33Z tdammers: it sucks in Python, it's only barely tolerable in Haskell 2020-03-18T09:59:34Z wasamasa: finally, if you can severely restrict the scope of the lisp, you could write a DSL to do low-level things in a nicer fashion: https://ahefner.livejournal.com/20528.html 2020-03-18T09:59:49Z wasamasa: like done here with a NES assembler 2020-03-18T10:00:17Z logicmoo joined #scheme 2020-03-18T10:00:39Z tdammers: yep 2020-03-18T10:00:59Z wasamasa: I've seen a similar writeup for a game 2020-03-18T10:01:12Z tdammers: however, someone's law says (or should say) that any sufficiently thought-through program architecture amounts to a compiler or interpreter 2020-03-18T10:01:30Z DeeEff__ joined #scheme 2020-03-18T10:01:43Z wasamasa: the most cursed program I wrote so far compiles markdown to word markup 2020-03-18T10:02:03Z tdammers: look into pandoc for inspiration :D 2020-03-18T10:02:13Z fgudin joined #scheme 2020-03-18T10:02:15Z tdammers: markdown -> (parse) -> AST -> (generate) -> word 2020-03-18T10:02:17Z wasamasa: nah, it had to work in the context of a template 2020-03-18T10:02:18Z bars0_ joined #scheme 2020-03-18T10:02:31Z wasamasa: so I wrote it from scratch with a mix of server-side ruby and client-side jscript 2020-03-18T10:02:45Z tdammers: that sounds about as pleasant as swallowing rusty barbed wire 2020-03-18T10:02:58Z wasamasa: I'm looking forward to debugging all the bugs in it 2020-03-18T10:03:25Z omtrent joined #scheme 2020-03-18T10:03:27Z wasamasa: this is what happens if you take "Automate all the drudgery" too far 2020-03-18T10:03:59Z tdammers: fwiw, I wrote a thing in haskell that allows you to build a dynamic server-centric website from just a stack of Jinja-style templates and a YAML configuration file that defines all the routes and data sources 2020-03-18T10:04:43Z tdammers: but I took the cop-out approach to parsing all the data formats I want to support, and just use the pandoc library for that 2020-03-18T10:04:49Z DeeEff_ quit (*.net *.split) 2020-03-18T10:04:49Z fgudin_ quit (*.net *.split) 2020-03-18T10:04:49Z dmiles quit (*.net *.split) 2020-03-18T10:04:49Z bars0 quit (*.net *.split) 2020-03-18T10:04:49Z ravndal quit (*.net *.split) 2020-03-18T10:04:49Z nevermind quit (*.net *.split) 2020-03-18T10:04:53Z wasamasa: it's at 1k SLOC 2020-03-18T10:05:12Z tdammers: my compiled binary is about 200 MiB 2020-03-18T10:05:43Z tdammers: unfortunately that means I can't run it on my mini-VPS, because that one has only 128 GiB RAM 2020-03-18T10:06:07Z wasamasa: I think you're a bit off here 2020-03-18T10:06:30Z m1dnight1 is now known as m1dnight 2020-03-18T10:06:38Z tdammers: ah yes 2020-03-18T10:06:43Z tdammers: by 3 orders of magnitude 2020-03-18T10:06:46Z tdammers: shenanigans 2020-03-18T10:06:58Z tdammers: or maybe wishful thinking 2020-03-18T10:07:08Z wasamasa: java EE ready 2020-03-18T10:07:36Z tdammers: I could almost host a typical company intranet or ecommerce solution on that 2020-03-18T10:12:05Z klovett joined #scheme 2020-03-18T10:16:32Z klovett quit (Ping timeout: 250 seconds) 2020-03-18T10:26:55Z heisenberg-25 joined #scheme 2020-03-18T10:29:13Z klovett joined #scheme 2020-03-18T10:33:14Z lockywolf_ joined #scheme 2020-03-18T10:33:46Z oxum quit (Remote host closed the connection) 2020-03-18T10:51:44Z oxum joined #scheme 2020-03-18T10:58:22Z wasamasa: I've tried out gjs for comparison, it's a different kind of painful compared to jscript 2020-03-18T10:58:38Z wasamasa: I get all the fancy modern features, but the autogenerated docs suck 2020-03-18T11:11:44Z tdammers: I guess as long as Word has to be your UI, it'll always suck at least a bit 2020-03-18T11:14:04Z jcowan: I wrote a couple of specs called Bottom Scheme and CL-R for sublanguages meant to be efficiently compilable into C 2020-03-18T11:16:21Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/BottomScheme.md 2020-03-18T11:16:32Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/BottomScheme.md 2020-03-18T11:16:49Z jcowan: https://docs.google.com/document/d/1Nh28vxYjratsjYaUj_MOKZlgtWdsoJI0cO4J0O4JdHc/edit# 2020-03-18T11:17:18Z wasamasa: nah,gjs outside that context as a node alternative 2020-03-18T11:20:39Z kritixilithos quit (Quit: quit) 2020-03-18T11:21:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-18T11:23:56Z luni quit (Remote host closed the connection) 2020-03-18T11:26:48Z xelxebar joined #scheme 2020-03-18T11:34:17Z ng0 is now known as nikita` 2020-03-18T11:40:54Z heisenberg-25 quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-18T11:49:48Z tryte quit (Remote host closed the connection) 2020-03-18T11:53:53Z webshinra quit (Ping timeout: 272 seconds) 2020-03-18T11:55:31Z webshinra joined #scheme 2020-03-18T11:56:10Z xkapastel joined #scheme 2020-03-18T11:57:45Z niklasl joined #scheme 2020-03-18T11:59:54Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-18T12:00:55Z pmden joined #scheme 2020-03-18T12:02:20Z ArthurStrong joined #scheme 2020-03-18T12:13:44Z luni joined #scheme 2020-03-18T12:17:20Z ggole joined #scheme 2020-03-18T12:24:13Z niklasl quit (Ping timeout: 264 seconds) 2020-03-18T12:24:33Z lispmaxima joined #scheme 2020-03-18T12:25:00Z TCZ joined #scheme 2020-03-18T12:25:07Z heisenberg-25 joined #scheme 2020-03-18T12:29:52Z webshinra quit (Remote host closed the connection) 2020-03-18T12:30:15Z webshinra joined #scheme 2020-03-18T12:36:11Z lispmaxima: hello 2020-03-18T12:46:08Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-18T12:47:45Z pmden joined #scheme 2020-03-18T12:51:33Z lucasb joined #scheme 2020-03-18T13:03:38Z lispmaxima quit (Quit: Leaving) 2020-03-18T13:12:25Z lritter joined #scheme 2020-03-18T13:27:39Z pinoaffe quit (Quit: WeeChat 1.5) 2020-03-18T13:28:39Z deesix joined #scheme 2020-03-18T13:36:11Z heisenberg-25 quit (Ping timeout: 246 seconds) 2020-03-18T13:38:01Z daviid quit (Ping timeout: 264 seconds) 2020-03-18T13:38:57Z hugh_marera joined #scheme 2020-03-18T13:44:36Z luni quit (Ping timeout: 246 seconds) 2020-03-18T13:44:36Z logicmoo quit (Ping timeout: 246 seconds) 2020-03-18T13:45:07Z dmiles joined #scheme 2020-03-18T13:46:43Z luni joined #scheme 2020-03-18T14:08:37Z oxum quit (Remote host closed the connection) 2020-03-18T14:12:24Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-18T14:26:08Z pmden joined #scheme 2020-03-18T14:29:37Z brendyyn quit (Ping timeout: 264 seconds) 2020-03-18T14:35:20Z h11 quit (Quit: The Lounge - https://thelounge.chat) 2020-03-18T14:36:15Z lavaflow joined #scheme 2020-03-18T14:36:17Z RRedcroft joined #scheme 2020-03-18T14:36:40Z h11 joined #scheme 2020-03-18T14:37:52Z oni-on-ion joined #scheme 2020-03-18T14:45:17Z oxum joined #scheme 2020-03-18T14:47:58Z aos quit (Quit: leaving) 2020-03-18T14:48:12Z aos joined #scheme 2020-03-18T14:50:44Z pablo[m] quit (Ping timeout: 245 seconds) 2020-03-18T14:51:25Z aos quit (Client Quit) 2020-03-18T14:51:35Z aos joined #scheme 2020-03-18T14:52:15Z pablo[m] joined #scheme 2020-03-18T14:53:26Z oxum quit (Ping timeout: 250 seconds) 2020-03-18T14:54:35Z RRedcroft quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-18T15:04:05Z jao joined #scheme 2020-03-18T15:06:18Z RRedcroft joined #scheme 2020-03-18T15:17:50Z TCZ quit (Quit: Leaving) 2020-03-18T15:21:33Z oxum joined #scheme 2020-03-18T15:23:07Z RRedcroft quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-18T15:23:56Z RRedcroft joined #scheme 2020-03-18T15:36:41Z luni quit (Remote host closed the connection) 2020-03-18T15:45:14Z gioyik joined #scheme 2020-03-18T15:46:20Z TCZ joined #scheme 2020-03-18T15:46:46Z oni-on-ion quit (Ping timeout: 240 seconds) 2020-03-18T15:54:58Z oxum quit (Ping timeout: 250 seconds) 2020-03-18T16:00:53Z oxum joined #scheme 2020-03-18T16:01:44Z coffeeturtle joined #scheme 2020-03-18T16:13:41Z drakonis joined #scheme 2020-03-18T16:31:43Z ggole quit (Quit: Leaving) 2020-03-18T16:34:44Z turtleman joined #scheme 2020-03-18T16:42:34Z gravicappa joined #scheme 2020-03-18T16:45:13Z ArthurStrong quit (Ping timeout: 264 seconds) 2020-03-18T16:45:37Z oxum quit (Quit: Leaving...) 2020-03-18T16:45:42Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-18T16:46:35Z ArthurStrong joined #scheme 2020-03-18T16:58:59Z xkapastel joined #scheme 2020-03-18T17:04:05Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-18T17:08:52Z RRedcroft quit (Ping timeout: 256 seconds) 2020-03-18T17:19:39Z v_m_v joined #scheme 2020-03-18T17:26:10Z v_m_v quit (Remote host closed the connection) 2020-03-18T17:29:32Z TCZ quit (Quit: Leaving) 2020-03-18T17:30:32Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-18T17:32:59Z whiteline quit (Remote host closed the connection) 2020-03-18T17:33:58Z whiteline joined #scheme 2020-03-18T17:35:33Z v_m_v joined #scheme 2020-03-18T17:35:48Z v_m_v quit (Remote host closed the connection) 2020-03-18T17:36:14Z v_m_v joined #scheme 2020-03-18T17:38:18Z jobol quit (Quit: Leaving) 2020-03-18T17:39:14Z oni-on-ion joined #scheme 2020-03-18T17:40:42Z v_m_v quit (Ping timeout: 250 seconds) 2020-03-18T18:04:42Z tryte joined #scheme 2020-03-18T18:20:40Z kronviruso joined #scheme 2020-03-18T18:51:39Z luni joined #scheme 2020-03-18T18:58:00Z aeth: Isn't C++ RAII just CL's unwind-protect? I was under the impression that the concepts are very similar, at least. I think Scheme doesn't have the same concept because of continuations? I could be wrong. 2020-03-18T19:02:30Z nilg joined #scheme 2020-03-18T19:09:49Z turtleman quit (Quit: Leaving) 2020-03-18T19:12:03Z turtleman_ joined #scheme 2020-03-18T19:12:52Z turtleman_ quit (Remote host closed the connection) 2020-03-18T19:14:21Z turtleman joined #scheme 2020-03-18T19:22:32Z jcowan: aeth: Correct on all counts, I think 2020-03-18T19:23:40Z jcowan: Query: What would be a good name for a a container that holds a bunch of threads and can be waited for, in which case the waiter is blocked until all the threads have terminated? 2020-03-18T19:24:27Z aeth: Well a container that holes a lot of threads is just a thread pool, right? 2020-03-18T19:24:40Z aeth: Waiting for it? idk, maybe blocking-thread-pool? 2020-03-18T19:25:06Z aeth: I guess "thread pool" kind of implies that you're recycling them back to the pool at the end, though. 2020-03-18T19:25:21Z jcowan: No, not a pool. That's something you pull a thread out of when you need one. Here the threads are already running and we want to keep them together 2020-03-18T19:25:35Z aeth: ah 2020-03-18T19:25:42Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-18T19:25:44Z aeth: jcowan: worker-group? 2020-03-18T19:25:51Z jcowan: so (with-container (lambda (c) ... (make-thread-in-container c) ...)) 2020-03-18T19:34:45Z webshinra quit (Remote host closed the connection) 2020-03-18T19:36:04Z Oddity quit (Ping timeout: 268 seconds) 2020-03-18T19:39:03Z webshinra joined #scheme 2020-03-18T19:40:27Z jcowan: I think if I am going to use group it would be thread-group: a worker-group containing threads sounds wierd. But looking at Java ThreadGroup made me realize that it should be possible to create a container in a container as well. 2020-03-18T19:41:10Z erkin quit (Quit: Ouch! Got SIGIRL, dying...) 2020-03-18T19:41:26Z daviid joined #scheme 2020-03-18T19:42:15Z Oddity joined #scheme 2020-03-18T19:42:40Z erkin joined #scheme 2020-03-18T19:50:22Z nilg quit (Remote host closed the connection) 2020-03-18T19:53:47Z johncob quit (Ping timeout: 265 seconds) 2020-03-18T19:55:23Z coffeeturtle quit (Quit: leaving) 2020-03-18T20:22:00Z zig: nursery? 2020-03-18T20:22:00Z seepel joined #scheme 2020-03-18T20:22:10Z zig: sorry, that is the term python trio use 2020-03-18T20:31:08Z kronviruso is now known as skapata 2020-03-18T20:34:26Z zig: Should we rename nurseries: https://github.com/python-trio/trio/issues/504 (2018) 2020-03-18T20:44:09Z TCZ joined #scheme 2020-03-18T20:44:44Z klovett quit (Remote host closed the connection) 2020-03-18T20:45:05Z klovett joined #scheme 2020-03-18T20:46:12Z oni-on-ion: hey guys. there is an srfi viewer in emacs released 2020-03-18T20:47:23Z jcowan: Yes, I'm basing it on trio to some extent 2020-03-18T20:49:54Z jcowan: I'm going with future-group for the moment 2020-03-18T20:53:17Z oni-on-ion: your Query earlier had me thinking of NSAutoreleasePool of OPENSTEP fame. also that i read 'waiter' as 'water'. =) 2020-03-18T20:53:45Z oni-on-ion: those Pools can be put into other Pools and so on. releasing the pool releases all the retain'd objects within 2020-03-18T20:57:18Z seepel quit (Ping timeout: 256 seconds) 2020-03-18T21:14:12Z hugh_marera quit (Quit: hugh_marera) 2020-03-18T21:17:19Z stultulo joined #scheme 2020-03-18T21:18:33Z hugh_marera joined #scheme 2020-03-18T21:19:51Z f8l quit (Ping timeout: 260 seconds) 2020-03-18T21:19:51Z stultulo is now known as f8l 2020-03-18T21:35:22Z webshinra_ joined #scheme 2020-03-18T21:37:11Z webshinra quit (Ping timeout: 272 seconds) 2020-03-18T22:10:06Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-18T22:10:25Z badkins joined #scheme 2020-03-18T22:13:11Z ArthurStrong quit (Quit: leaving) 2020-03-18T22:17:22Z badkins quit (Remote host closed the connection) 2020-03-18T22:17:58Z badkins joined #scheme 2020-03-18T22:23:11Z badkins quit (Ping timeout: 250 seconds) 2020-03-18T22:24:16Z whiteline quit (Read error: Connection reset by peer) 2020-03-18T22:25:53Z badkins joined #scheme 2020-03-18T22:31:25Z gravicappa quit (Ping timeout: 250 seconds) 2020-03-18T22:35:21Z whiteline joined #scheme 2020-03-18T22:39:27Z madage quit (Remote host closed the connection) 2020-03-18T22:39:43Z madage joined #scheme 2020-03-18T22:48:29Z brendyyn joined #scheme 2020-03-18T22:53:03Z torbo joined #scheme 2020-03-18T23:25:09Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-18T23:28:01Z whiteline quit (Read error: Connection reset by peer) 2020-03-18T23:28:22Z whiteline joined #scheme 2020-03-18T23:28:56Z badkins quit (Remote host closed the connection) 2020-03-18T23:29:37Z badkins joined #scheme 2020-03-18T23:34:15Z badkins quit (Ping timeout: 250 seconds) 2020-03-18T23:39:26Z lockywolf_ joined #scheme 2020-03-18T23:41:38Z lritter quit (Ping timeout: 256 seconds) 2020-03-18T23:44:01Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-18T23:46:45Z TCZ quit (Quit: Leaving) 2020-03-18T23:52:52Z hugh_marera quit (Quit: hugh_marera) 2020-03-18T23:59:18Z badkins joined #scheme 2020-03-19T00:03:49Z badkins quit (Remote host closed the connection) 2020-03-19T00:04:00Z badkins joined #scheme 2020-03-19T00:09:06Z luni quit (Remote host closed the connection) 2020-03-19T00:26:36Z gmaggior quit (Remote host closed the connection) 2020-03-19T00:30:22Z f8l quit (Ping timeout: 256 seconds) 2020-03-19T00:31:48Z f8l joined #scheme 2020-03-19T00:35:35Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-19T00:40:48Z jao quit (Remote host closed the connection) 2020-03-19T00:50:54Z lockywolf_ joined #scheme 2020-03-19T00:52:36Z jao joined #scheme 2020-03-19T00:55:09Z seepel joined #scheme 2020-03-19T00:56:12Z badkins quit (Remote host closed the connection) 2020-03-19T00:59:11Z xelxebar quit (Remote host closed the connection) 2020-03-19T00:59:32Z xelxebar joined #scheme 2020-03-19T01:07:26Z seepel quit (Ping timeout: 246 seconds) 2020-03-19T01:19:33Z badkins joined #scheme 2020-03-19T01:23:58Z Adso_of_Jelq quit (Read error: Connection reset by peer) 2020-03-19T01:24:10Z Adso_of_Jelq joined #scheme 2020-03-19T01:33:07Z seepel joined #scheme 2020-03-19T01:33:34Z rbarraud|2 joined #scheme 2020-03-19T01:34:47Z rbarraud|2 quit (Remote host closed the connection) 2020-03-19T01:48:08Z rbarraud|2 joined #scheme 2020-03-19T01:48:25Z rbarraud|3 joined #scheme 2020-03-19T01:51:33Z rbarraud|3 quit (Client Quit) 2020-03-19T01:51:45Z rbarraud|2 quit (Client Quit) 2020-03-19T01:52:26Z stultulo joined #scheme 2020-03-19T01:53:06Z f8l quit (Ping timeout: 256 seconds) 2020-03-19T01:53:07Z stultulo is now known as f8l 2020-03-19T01:53:07Z rbarraud|2 joined #scheme 2020-03-19T01:55:31Z seepel quit (Ping timeout: 250 seconds) 2020-03-19T01:58:54Z badkins quit (Remote host closed the connection) 2020-03-19T01:59:12Z badkins joined #scheme 2020-03-19T02:00:30Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-19T02:03:40Z drakonis1 joined #scheme 2020-03-19T02:05:28Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-19T02:05:37Z seepel joined #scheme 2020-03-19T02:05:38Z drakonis1 is now known as drakonis 2020-03-19T02:07:25Z niklasl joined #scheme 2020-03-19T02:12:27Z badkins quit (Remote host closed the connection) 2020-03-19T02:13:17Z badkins joined #scheme 2020-03-19T02:14:09Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T02:14:24Z badkins quit (Remote host closed the connection) 2020-03-19T02:14:32Z badkins joined #scheme 2020-03-19T02:24:26Z badkins quit (Remote host closed the connection) 2020-03-19T02:26:46Z badkins joined #scheme 2020-03-19T02:28:07Z badkins quit (Remote host closed the connection) 2020-03-19T02:28:16Z badkins joined #scheme 2020-03-19T02:29:24Z seepel quit (Remote host closed the connection) 2020-03-19T02:29:47Z seepel joined #scheme 2020-03-19T02:30:22Z badkins quit (Remote host closed the connection) 2020-03-19T02:34:02Z badkins joined #scheme 2020-03-19T02:36:24Z badkins quit (Remote host closed the connection) 2020-03-19T02:37:25Z niklasl joined #scheme 2020-03-19T02:37:33Z badkins joined #scheme 2020-03-19T02:38:05Z badkins quit (Remote host closed the connection) 2020-03-19T02:38:16Z badkins joined #scheme 2020-03-19T02:39:17Z seepel quit (Ping timeout: 250 seconds) 2020-03-19T02:40:21Z badkins quit (Remote host closed the connection) 2020-03-19T02:41:27Z badkins joined #scheme 2020-03-19T02:41:35Z niklasl quit (Ping timeout: 246 seconds) 2020-03-19T02:53:54Z badkins quit (Remote host closed the connection) 2020-03-19T02:56:09Z X-Scale` joined #scheme 2020-03-19T02:56:50Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-19T02:57:12Z X-Scale` is now known as X-Scale 2020-03-19T03:06:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-19T03:07:02Z xelxebar joined #scheme 2020-03-19T03:07:19Z niklasl joined #scheme 2020-03-19T03:11:37Z niklasl quit (Ping timeout: 246 seconds) 2020-03-19T03:18:07Z acarrico quit (Ping timeout: 256 seconds) 2020-03-19T03:29:07Z seepel joined #scheme 2020-03-19T03:32:46Z skapata quit (Quit: Ĝis!) 2020-03-19T03:36:55Z seepel quit (Ping timeout: 250 seconds) 2020-03-19T03:37:20Z niklasl joined #scheme 2020-03-19T03:41:41Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T03:44:01Z turtleman quit (Ping timeout: 264 seconds) 2020-03-19T03:48:43Z torbo quit (Remote host closed the connection) 2020-03-19T03:57:23Z klovett quit (Remote host closed the connection) 2020-03-19T04:07:20Z niklasl joined #scheme 2020-03-19T04:08:13Z klovett joined #scheme 2020-03-19T04:12:13Z niklasl quit (Ping timeout: 264 seconds) 2020-03-19T04:12:27Z klovett quit (Ping timeout: 250 seconds) 2020-03-19T04:13:48Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-19T04:27:35Z Khisanth joined #scheme 2020-03-19T04:33:16Z klovett joined #scheme 2020-03-19T04:37:20Z niklasl joined #scheme 2020-03-19T04:41:38Z niklasl quit (Ping timeout: 246 seconds) 2020-03-19T04:54:32Z badkins joined #scheme 2020-03-19T04:59:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-19T05:01:52Z drakonis quit (Ping timeout: 246 seconds) 2020-03-19T05:02:43Z gravicappa joined #scheme 2020-03-19T05:07:22Z niklasl joined #scheme 2020-03-19T05:11:52Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T05:22:57Z drakonis joined #scheme 2020-03-19T05:34:32Z oni-on-ion quit (Remote host closed the connection) 2020-03-19T05:34:54Z oni-on-ion joined #scheme 2020-03-19T05:35:37Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-19T05:37:22Z niklasl joined #scheme 2020-03-19T05:38:01Z seepel joined #scheme 2020-03-19T05:41:46Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T05:48:20Z cdadr quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-03-19T05:50:37Z seepel quit (Ping timeout: 264 seconds) 2020-03-19T05:51:28Z cdadr joined #scheme 2020-03-19T06:06:37Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-19T06:06:49Z jao quit (Ping timeout: 264 seconds) 2020-03-19T06:07:20Z niklasl joined #scheme 2020-03-19T06:14:37Z niklasl quit (Ping timeout: 264 seconds) 2020-03-19T06:37:20Z niklasl joined #scheme 2020-03-19T06:44:07Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T06:50:02Z lockywolf_: Why don't we instantiate pattern before matching them in Prolog? 2020-03-19T06:50:16Z lockywolf_: I mean, sicp prolog from chapter 4.79 2020-03-19T06:50:33Z lockywolf_: Chapter 4, and specifically ex. 4.79? 2020-03-19T06:52:12Z lockywolf_: I'm trying to compare sicp-prolog with schelog. 2020-03-19T06:53:14Z lockywolf_: And schelog seems to instantiate patterns before referencing them, so that as many already bound variables go away. 2020-03-19T06:53:22Z lockywolf_: as possible 2020-03-19T06:56:29Z lockywolf_: The way we are juggling frames just seems too weird. I would expect qeval return an already bound pattern rather than a frame. 2020-03-19T06:56:46Z lockywolf_: With as many already bound variables as possible. 2020-03-19T07:07:20Z niklasl joined #scheme 2020-03-19T07:11:51Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T07:16:19Z wilfredh joined #scheme 2020-03-19T07:23:59Z lockywolf_ quit (Remote host closed the connection) 2020-03-19T07:24:17Z niklasl joined #scheme 2020-03-19T07:24:28Z lockywolf_ joined #scheme 2020-03-19T07:27:28Z lockywolf__ joined #scheme 2020-03-19T07:27:31Z jobol joined #scheme 2020-03-19T07:28:31Z niklasl quit (Ping timeout: 246 seconds) 2020-03-19T07:30:20Z lockywolf_ quit (Ping timeout: 246 seconds) 2020-03-19T07:33:56Z lockywolf_ joined #scheme 2020-03-19T07:36:49Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-19T07:37:22Z niklasl joined #scheme 2020-03-19T07:40:08Z nly quit (Ping timeout: 246 seconds) 2020-03-19T07:41:48Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T07:51:17Z niklasl joined #scheme 2020-03-19T07:56:37Z niklasl2 joined #scheme 2020-03-19T07:57:08Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-19T07:57:28Z X-Scale` joined #scheme 2020-03-19T07:57:50Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T07:58:13Z X-Scale` is now known as X-Scale 2020-03-19T08:00:14Z gravicappa joined #scheme 2020-03-19T08:00:47Z niklasl2 quit (Ping timeout: 246 seconds) 2020-03-19T08:01:08Z zmt01 quit (Ping timeout: 256 seconds) 2020-03-19T08:07:19Z niklasl joined #scheme 2020-03-19T08:08:07Z kilimanjaro quit (Ping timeout: 240 seconds) 2020-03-19T08:08:25Z wilfredh quit (Ping timeout: 246 seconds) 2020-03-19T08:08:30Z Adso_of_Jelq quit (Ping timeout: 246 seconds) 2020-03-19T08:09:04Z ullbeking quit (Ping timeout: 256 seconds) 2020-03-19T08:09:04Z timwis quit (Ping timeout: 256 seconds) 2020-03-19T08:09:07Z andreh quit (Ping timeout: 240 seconds) 2020-03-19T08:09:17Z kilimanjaro joined #scheme 2020-03-19T08:09:27Z cemerick quit (Ping timeout: 240 seconds) 2020-03-19T08:09:27Z nikita` quit (Ping timeout: 240 seconds) 2020-03-19T08:10:13Z wilfredh joined #scheme 2020-03-19T08:10:30Z Adso_of_Jelq joined #scheme 2020-03-19T08:10:32Z even4void joined #scheme 2020-03-19T08:11:18Z ullbeking joined #scheme 2020-03-19T08:11:18Z timwis joined #scheme 2020-03-19T08:11:19Z andreh joined #scheme 2020-03-19T08:11:41Z civodul joined #scheme 2020-03-19T08:11:47Z cemerick joined #scheme 2020-03-19T08:11:49Z nikita` joined #scheme 2020-03-19T08:11:50Z niklasl quit (Ping timeout: 265 seconds) 2020-03-19T08:17:42Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-03-19T08:37:19Z niklasl joined #scheme 2020-03-19T08:41:59Z niklasl quit (Ping timeout: 258 seconds) 2020-03-19T08:45:11Z mdhughes_ joined #scheme 2020-03-19T08:48:06Z mdhughes quit (Ping timeout: 240 seconds) 2020-03-19T08:50:43Z pmden joined #scheme 2020-03-19T08:51:30Z nly joined #scheme 2020-03-19T08:55:05Z badkins joined #scheme 2020-03-19T08:59:48Z badkins quit (Ping timeout: 256 seconds) 2020-03-19T09:03:03Z mdhughes_ is now known as mdhughes 2020-03-19T09:07:20Z niklasl joined #scheme 2020-03-19T09:09:52Z ggole joined #scheme 2020-03-19T09:12:13Z niklasl quit (Ping timeout: 264 seconds) 2020-03-19T09:28:41Z even4void joined #scheme 2020-03-19T09:37:22Z niklasl joined #scheme 2020-03-19T09:41:50Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T09:48:20Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-03-19T09:55:49Z wilfredh quit (Quit: Connection closed for inactivity) 2020-03-19T09:59:52Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-19T10:07:22Z niklasl joined #scheme 2020-03-19T10:13:58Z niklasl quit (Ping timeout: 256 seconds) 2020-03-19T10:16:54Z xkapastel joined #scheme 2020-03-19T10:19:24Z lritter joined #scheme 2020-03-19T10:23:58Z RRedcroft joined #scheme 2020-03-19T10:37:20Z niklasl joined #scheme 2020-03-19T10:42:13Z niklasl quit (Ping timeout: 264 seconds) 2020-03-19T10:48:01Z even4void joined #scheme 2020-03-19T10:50:18Z lockywolf_ joined #scheme 2020-03-19T11:07:20Z niklasl joined #scheme 2020-03-19T11:08:08Z even4void quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2020-03-19T11:10:33Z dmiles quit 2020-03-19T11:11:55Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T11:13:53Z dmiles joined #scheme 2020-03-19T11:23:02Z skapata joined #scheme 2020-03-19T11:27:17Z skapata quit (Ping timeout: 246 seconds) 2020-03-19T11:29:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-19T11:37:20Z niklasl joined #scheme 2020-03-19T11:39:46Z skapata joined #scheme 2020-03-19T11:41:49Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T12:00:19Z badkins joined #scheme 2020-03-19T12:00:49Z oni-on-ion quit (Ping timeout: 246 seconds) 2020-03-19T12:04:24Z badkins quit (Ping timeout: 250 seconds) 2020-03-19T12:07:20Z niklasl joined #scheme 2020-03-19T12:12:13Z niklasl quit (Ping timeout: 264 seconds) 2020-03-19T12:12:18Z kritixilithos joined #scheme 2020-03-19T12:15:35Z kritixilithos quit (Client Quit) 2020-03-19T12:17:16Z kritixilithos joined #scheme 2020-03-19T12:17:53Z luni joined #scheme 2020-03-19T12:24:29Z RRedcroft quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-19T12:26:21Z kritixil1 joined #scheme 2020-03-19T12:27:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-19T12:30:52Z even4void joined #scheme 2020-03-19T12:35:15Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-19T12:37:20Z niklasl joined #scheme 2020-03-19T12:37:50Z hugh_marera joined #scheme 2020-03-19T12:41:37Z niklasl quit (Ping timeout: 250 seconds) 2020-03-19T12:49:04Z even4void quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-19T13:03:03Z badkins joined #scheme 2020-03-19T13:07:41Z luni quit (Remote host closed the connection) 2020-03-19T13:28:05Z gmaggior joined #scheme 2020-03-19T13:28:36Z badkins quit (Remote host closed the connection) 2020-03-19T13:38:13Z badkins joined #scheme 2020-03-19T13:43:08Z badkins quit (Ping timeout: 256 seconds) 2020-03-19T13:48:51Z greaser|q quit (Remote host closed the connection) 2020-03-19T13:50:07Z greaser|q joined #scheme 2020-03-19T13:50:27Z skapata quit (Quit: Ĝis!) 2020-03-19T13:53:37Z daviid quit (Ping timeout: 264 seconds) 2020-03-19T13:54:23Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-19T13:59:51Z sz0 joined #scheme 2020-03-19T14:05:50Z badkins joined #scheme 2020-03-19T14:08:21Z badkins quit (Remote host closed the connection) 2020-03-19T14:09:57Z badkins joined #scheme 2020-03-19T14:14:21Z stepnem quit (Ping timeout: 250 seconds) 2020-03-19T14:14:45Z acarrico joined #scheme 2020-03-19T14:18:05Z badkins quit (Remote host closed the connection) 2020-03-19T14:19:17Z badkins joined #scheme 2020-03-19T14:20:01Z jobol quit (Quit: Leaving) 2020-03-19T14:20:37Z badkins quit (Remote host closed the connection) 2020-03-19T14:21:39Z lockywolf__ joined #scheme 2020-03-19T14:23:06Z lockywolf__ quit (Remote host closed the connection) 2020-03-19T14:23:33Z lockywolf__ joined #scheme 2020-03-19T14:24:29Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-19T14:26:42Z badkins joined #scheme 2020-03-19T14:26:44Z klovett_ joined #scheme 2020-03-19T14:27:36Z Naptra joined #scheme 2020-03-19T14:28:36Z klovett quit (Ping timeout: 246 seconds) 2020-03-19T14:35:14Z lucasb joined #scheme 2020-03-19T14:38:49Z liulanghaitun joined #scheme 2020-03-19T14:43:28Z stepnem joined #scheme 2020-03-19T14:44:07Z xelxebar joined #scheme 2020-03-19T14:45:07Z luni joined #scheme 2020-03-19T14:49:37Z oni-on-ion joined #scheme 2020-03-19T14:51:22Z drakonis joined #scheme 2020-03-19T14:51:41Z turtleman joined #scheme 2020-03-19T14:58:40Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-19T14:58:51Z klovett_ is now known as klovett 2020-03-19T14:59:04Z brendyyn quit (Ping timeout: 256 seconds) 2020-03-19T15:05:24Z kritixil1 joined #scheme 2020-03-19T15:10:41Z pmden joined #scheme 2020-03-19T15:12:58Z pmden quit (Client Quit) 2020-03-19T15:14:26Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-19T15:14:31Z oni_on_ion joined #scheme 2020-03-19T15:16:33Z pmden joined #scheme 2020-03-19T15:18:14Z oni_on_ion quit (Read error: Connection reset by peer) 2020-03-19T15:18:38Z oni-on-ion joined #scheme 2020-03-19T15:18:38Z drakonis quit (Ping timeout: 246 seconds) 2020-03-19T15:20:13Z badkins quit (Remote host closed the connection) 2020-03-19T15:20:46Z badkins joined #scheme 2020-03-19T15:21:58Z heisenberg-25 joined #scheme 2020-03-19T15:25:38Z badkins quit (Ping timeout: 256 seconds) 2020-03-19T15:26:56Z badkins joined #scheme 2020-03-19T15:31:55Z badkins quit (Ping timeout: 250 seconds) 2020-03-19T15:31:58Z heisenberg-25 quit (Ping timeout: 250 seconds) 2020-03-19T15:39:46Z badkins joined #scheme 2020-03-19T15:39:50Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-19T15:44:16Z drakonis joined #scheme 2020-03-19T15:51:25Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-19T15:54:20Z pmden joined #scheme 2020-03-19T16:06:13Z liulanghaitun quit (Quit: Leaving.) 2020-03-19T16:15:31Z TCZ joined #scheme 2020-03-19T16:23:47Z jao joined #scheme 2020-03-19T16:24:49Z greaser|q quit (Quit: HYDRA IRC LOL) 2020-03-19T16:42:23Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-19T16:47:12Z kritixil1 joined #scheme 2020-03-19T16:47:28Z klovett_ joined #scheme 2020-03-19T16:51:16Z klovett quit (Ping timeout: 256 seconds) 2020-03-19T16:57:55Z zmt00 joined #scheme 2020-03-19T17:04:02Z TCZ quit (Quit: Leaving) 2020-03-19T17:06:41Z badkins quit (Remote host closed the connection) 2020-03-19T17:07:20Z badkins joined #scheme 2020-03-19T17:12:02Z badkins quit (Ping timeout: 246 seconds) 2020-03-19T17:12:15Z klovett_ is now known as klovett 2020-03-19T17:16:06Z cartwright quit (Remote host closed the connection) 2020-03-19T17:17:12Z cartwright joined #scheme 2020-03-19T17:23:03Z kritixil1 quit (Ping timeout: 240 seconds) 2020-03-19T17:25:37Z skapata joined #scheme 2020-03-19T17:30:11Z pmden quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…) 2020-03-19T17:32:04Z greaser|q joined #scheme 2020-03-19T17:40:40Z badkins joined #scheme 2020-03-19T17:41:02Z casmajavi joined #scheme 2020-03-19T17:53:21Z casmajavi quit (Remote host closed the connection) 2020-03-19T17:53:34Z pmden joined #scheme 2020-03-19T17:53:53Z pmden quit (Client Quit) 2020-03-19T18:05:13Z jitwit joined #scheme 2020-03-19T18:11:53Z ecraven quit (Quit: bye) 2020-03-19T18:16:50Z f8l quit (Remote host closed the connection) 2020-03-19T18:18:12Z f8l joined #scheme 2020-03-19T18:19:42Z seepel joined #scheme 2020-03-19T18:42:35Z seepel quit (Ping timeout: 250 seconds) 2020-03-19T18:47:32Z _leb joined #scheme 2020-03-19T18:47:56Z _apg quit (Ping timeout: 256 seconds) 2020-03-19T18:48:52Z greaser|q quit (Changing host) 2020-03-19T18:48:52Z greaser|q joined #scheme 2020-03-19T18:48:56Z greaser|q is now known as GreaseMonkey 2020-03-19T18:51:03Z nilg joined #scheme 2020-03-19T18:55:22Z webshinra_ quit (Ping timeout: 256 seconds) 2020-03-19T18:56:30Z eMBee joined #scheme 2020-03-19T18:56:50Z webshinra joined #scheme 2020-03-19T19:03:01Z _leb quit 2020-03-19T19:04:50Z nevermind joined #scheme 2020-03-19T19:05:05Z leb joined #scheme 2020-03-19T19:12:17Z ecraven joined #scheme 2020-03-19T19:33:19Z nilg quit (Remote host closed the connection) 2020-03-19T19:54:50Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-19T19:56:40Z nilg joined #scheme 2020-03-19T19:57:48Z dgtlcmo joined #scheme 2020-03-19T19:58:27Z dgtlcmo quit (Client Quit) 2020-03-19T20:07:50Z nilg quit (Remote host closed the connection) 2020-03-19T20:08:26Z drakonis quit (Ping timeout: 246 seconds) 2020-03-19T20:12:06Z ggole quit (Quit: Leaving) 2020-03-19T20:20:30Z badkins quit (Remote host closed the connection) 2020-03-19T20:21:01Z badkins joined #scheme 2020-03-19T20:25:02Z drakonis joined #scheme 2020-03-19T20:25:28Z badkins quit (Ping timeout: 256 seconds) 2020-03-19T20:32:32Z _apg joined #scheme 2020-03-19T20:36:16Z nilg joined #scheme 2020-03-19T20:46:29Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-19T20:50:08Z nilg quit (Remote host closed the connection) 2020-03-19T21:24:51Z leb quit 2020-03-19T21:29:02Z TCZ joined #scheme 2020-03-19T21:29:37Z lritter quit (Ping timeout: 264 seconds) 2020-03-19T21:34:06Z daviid joined #scheme 2020-03-19T21:43:43Z lavaflow quit (Ping timeout: 250 seconds) 2020-03-19T21:44:03Z lavaflow joined #scheme 2020-03-19T21:58:14Z lavaflow quit (Ping timeout: 240 seconds) 2020-03-19T22:06:14Z ggoes quit (Quit: WeeChat 2.3) 2020-03-19T22:08:01Z nckx quit (Ping timeout: 264 seconds) 2020-03-19T22:08:27Z nckx joined #scheme 2020-03-19T22:10:39Z Naptra quit (Remote host closed the connection) 2020-03-19T22:11:30Z gravicappa quit (Ping timeout: 250 seconds) 2020-03-19T22:22:41Z badkins joined #scheme 2020-03-19T22:23:53Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-19T22:26:54Z badkins quit (Ping timeout: 240 seconds) 2020-03-19T22:33:24Z luni quit (Remote host closed the connection) 2020-03-19T22:38:47Z ggoes joined #scheme 2020-03-19T22:40:27Z smazga joined #scheme 2020-03-19T22:45:56Z jitwit quit (Ping timeout: 256 seconds) 2020-03-19T23:03:42Z jitwit joined #scheme 2020-03-19T23:13:46Z jitwit quit (Ping timeout: 256 seconds) 2020-03-19T23:23:30Z badkins joined #scheme 2020-03-19T23:27:46Z badkins quit (Ping timeout: 250 seconds) 2020-03-19T23:30:04Z TCZ quit (Quit: Leaving) 2020-03-19T23:45:26Z badkins joined #scheme 2020-03-19T23:57:33Z abralek_ joined #scheme 2020-03-19T23:59:32Z torbo joined #scheme 2020-03-20T00:04:16Z hugh_marera quit (Quit: hugh_marera) 2020-03-20T00:08:51Z jitwit joined #scheme 2020-03-20T00:08:56Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T00:22:31Z gmaggior quit (Quit: Leaving) 2020-03-20T00:41:30Z smazga joined #scheme 2020-03-20T00:46:09Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T00:52:49Z lockywolf joined #scheme 2020-03-20T00:54:02Z TCZ joined #scheme 2020-03-20T00:59:23Z lockywolf_ joined #scheme 2020-03-20T01:02:14Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-20T01:04:25Z badkins quit (Remote host closed the connection) 2020-03-20T01:05:23Z lockywolf__ joined #scheme 2020-03-20T01:06:04Z badkins joined #scheme 2020-03-20T01:07:49Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-20T01:08:53Z lockywolf_ joined #scheme 2020-03-20T01:11:37Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-20T01:16:53Z lockywolf__ joined #scheme 2020-03-20T01:19:31Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-20T01:22:07Z pilne joined #scheme 2020-03-20T01:24:45Z notzmv quit (Read error: Connection reset by peer) 2020-03-20T01:25:52Z lockywolf_ joined #scheme 2020-03-20T01:28:25Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-20T01:28:41Z lockywolf joined #scheme 2020-03-20T01:30:49Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-20T01:55:15Z brendyyn joined #scheme 2020-03-20T02:06:07Z badkins quit (Remote host closed the connection) 2020-03-20T02:06:47Z badkins joined #scheme 2020-03-20T02:11:34Z badkins quit (Ping timeout: 250 seconds) 2020-03-20T02:16:09Z lockywolf: Hehe, Norvig's implementation of prolog also uses renaming. 2020-03-20T02:34:25Z lockywolf_ joined #scheme 2020-03-20T02:37:25Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-20T02:42:23Z smazga joined #scheme 2020-03-20T02:44:12Z notzmv joined #scheme 2020-03-20T02:49:54Z TCZ quit (Quit: Leaving) 2020-03-20T02:55:59Z gioyik joined #scheme 2020-03-20T03:06:27Z oni-on-ion quit (Remote host closed the connection) 2020-03-20T03:06:49Z oni-on-ion joined #scheme 2020-03-20T03:11:26Z lockywolf__ joined #scheme 2020-03-20T03:12:33Z jcowan: If anyone could snarf https://dl.acm.org/doi/abs/10.1145/62678.62684 and email it to me at cowan@ccil.org, I would greatly appreciate it 2020-03-20T03:13:42Z Riastradh: jcowan: Tried sci-hub? 2020-03-20T03:13:58Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-20T03:14:50Z jcowan: Yes. of course. It always times out (at least for me) trying to access dl.acm.org. I don't know if the problem is technical or legal. 2020-03-20T03:17:00Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T03:17:26Z Riastradh: Try shift-reload? 2020-03-20T03:32:58Z zaifir: Man, the ACM loves JavaScript... 2020-03-20T03:40:24Z lockywolf_ joined #scheme 2020-03-20T03:40:47Z torbo quit (Remote host closed the connection) 2020-03-20T03:42:14Z skapata quit (Remote host closed the connection) 2020-03-20T03:42:56Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-20T03:44:39Z madage quit (Remote host closed the connection) 2020-03-20T03:47:57Z jcowan: Well, now I have to do a CAPTCHA too 2020-03-20T03:48:29Z jcowan: And nope, it still fails with ! Ошибка: не удалось открыть страницу 2020-03-20T03:49:02Z jcowan: (Error: could not open page) 2020-03-20T03:49:29Z jcowan: I've seen this before with dl.acm.org pages; in fact, I don't remember the last time I got sci-hub to work on such a page. 2020-03-20T03:59:35Z duncanm: Do you still want it? I think I might have access 2020-03-20T04:01:16Z madage joined #scheme 2020-03-20T04:04:54Z duncanm: jcowan: i just mailed it to ya 2020-03-20T04:08:14Z badkins joined #scheme 2020-03-20T04:12:58Z badkins quit (Ping timeout: 256 seconds) 2020-03-20T04:32:24Z cdadr quit (Quit: ZNC 1.7.5 - https://znc.in) 2020-03-20T04:33:13Z turtleman quit (Ping timeout: 264 seconds) 2020-03-20T04:36:20Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-20T05:02:27Z ByronJohnson quit (Ping timeout: 260 seconds) 2020-03-20T05:03:24Z gioyik quit (Ping timeout: 256 seconds) 2020-03-20T05:03:37Z whiteline quit (Remote host closed the connection) 2020-03-20T05:04:04Z whiteline joined #scheme 2020-03-20T05:04:54Z jitwit quit (Ping timeout: 240 seconds) 2020-03-20T05:06:24Z gioyik joined #scheme 2020-03-20T05:09:37Z jao quit (Ping timeout: 250 seconds) 2020-03-20T05:13:01Z smazga joined #scheme 2020-03-20T05:22:54Z lockywolf__ joined #scheme 2020-03-20T05:24:58Z madage quit (Remote host closed the connection) 2020-03-20T05:25:13Z madage joined #scheme 2020-03-20T05:25:14Z ByronJohnson joined #scheme 2020-03-20T05:25:27Z lockywolf__ quit (Remote host closed the connection) 2020-03-20T05:25:39Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-20T05:26:13Z lockywolf__ joined #scheme 2020-03-20T05:31:14Z lockywolf_ joined #scheme 2020-03-20T05:33:07Z jitwit joined #scheme 2020-03-20T05:33:44Z poga joined #scheme 2020-03-20T05:33:49Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-20T05:35:42Z hugh_marera joined #scheme 2020-03-20T05:37:23Z hugh_marera quit (Client Quit) 2020-03-20T05:48:13Z smazga quit (Ping timeout: 264 seconds) 2020-03-20T06:06:11Z gravicappa joined #scheme 2020-03-20T06:09:02Z badkins joined #scheme 2020-03-20T06:14:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-20T06:45:38Z aeth: So I'm changing the approach of my tokenizer one more time. Essentially, everything is a range, whether it's just one character or actually a range. Whichever comes first is the priority. Ranges could overlap. e.g. (#\B #\Z) and (#\A #\E) would become (#\B \#Z) and (#\A #\A) because the first range comes first 2020-03-20T06:45:54Z aeth: this also seems like DFA, not NFA 2020-03-20T06:48:11Z Riastradh: Have you considered just implementing a bog-standard nfa lexer by a textbook nfa->dfa compiler? 2020-03-20T06:48:28Z aeth: this seems pretty simple 2020-03-20T06:48:54Z aeth: the only complexity is if A-E repeats then I split it into A repeating and B-E repeating as a child of B-Z 2020-03-20T06:54:04Z Riastradh: https://mumble.net/~campbell/tmp/20190624/lex.scm 2020-03-20T06:54:13Z Riastradh: https://mumble.net/~campbell/tmp/20190624/lex-test.scm 2020-03-20T06:54:31Z Riastradh: (sketchy draft from an afternoon hack last year) 2020-03-20T07:03:34Z bgardner quit (Ping timeout: 268 seconds) 2020-03-20T07:03:47Z bgardner joined #scheme 2020-03-20T07:04:50Z aeth: Riastradh: I'm still not seeing where the nondeterminism comes into this though 2020-03-20T07:06:01Z Riastradh: aeth: You can write two lexer rules that consume the same first symbol but then consume a different second symbol. 2020-03-20T07:06:11Z Riastradh: (define-lexer (re:utf8 "xy") ...) 2020-03-20T07:06:13Z Riastradh: (define-lexer (re:utf8 "xz") ...) 2020-03-20T07:07:41Z Riastradh: aeth: The machine doesn't know which action to take after only one symbol, so it is in a sort of superposition of states when it sees an `x' -- hence nondeterminism -- but then when it sees (say) a `y' it can take the first action and ignore the second. 2020-03-20T07:07:51Z aeth: Riastradh: that becomes (#\x (#\y #\z)) though. 2020-03-20T07:08:20Z niklasl joined #scheme 2020-03-20T07:08:26Z aeth: so with just one lookahead the NFA->DFA is trivial 2020-03-20T07:08:46Z aeth: now, that will clearly explode if arbitrary lookahead is allowed 2020-03-20T07:12:16Z Riastradh: I don't follow what you mean by `with just one lookahead the NFA->DFA is trivial'. 2020-03-20T07:13:36Z Riastradh: An NFA is an assignment to each state and symbol a set of transitions to successor states; a DFA is an assignment to each state and symbol a transition to a unique successor state. Compiling an NFA to a DFA is something you do independent of the input you might have fed to one or the other. 2020-03-20T07:14:38Z spectrumgomas[m] quit (Ping timeout: 260 seconds) 2020-03-20T07:15:05Z niklasl2 joined #scheme 2020-03-20T07:15:16Z niklasl quit (Ping timeout: 264 seconds) 2020-03-20T07:20:21Z Riastradh: aeth: From what you're saying it sounds like you might not really be familiar with what NFAs and DFAs are and how they work (but perhaps I am just misreading you). Have you consulted a textbook like Hopcroft & Ullman on the subject? They go through the standard algorithms for regexp->NFA->DFA compilation (but maybe you might like the Scheme exposition in lex.scm a little more than their mathy 2020-03-20T07:20:27Z Riastradh: pseudocode). 2020-03-20T07:27:56Z spectrumgomas[m] joined #scheme 2020-03-20T07:31:59Z niklasl2 quit (Quit: Nettalk6 - www.ntalk.de) 2020-03-20T07:34:21Z niklasl joined #scheme 2020-03-20T07:43:38Z abralek_ quit (Quit: Quit) 2020-03-20T07:43:41Z smazga joined #scheme 2020-03-20T07:43:47Z aeth: Riastradh: I am familiar with DFA 2020-03-20T07:44:32Z aeth: I am also aware that full regex require NFA, which can be compiled to DFA 2020-03-20T07:48:26Z lockywolf__ joined #scheme 2020-03-20T07:51:13Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-20T07:53:44Z aeth: It also looks like "AB" vs. "AC" is a NFA because, yes, the decision point requires reading two characters with ambiguity after #\A 2020-03-20T07:54:40Z aeth: So I have been turning NFA to DFA in that case 2020-03-20T07:56:50Z X-Scale` joined #scheme 2020-03-20T07:56:59Z X-Scale quit (Ping timeout: 260 seconds) 2020-03-20T07:57:50Z X-Scale` is now known as X-Scale 2020-03-20T08:02:57Z lockywolf__ quit (Remote host closed the connection) 2020-03-20T08:03:32Z lockywolf__ joined #scheme 2020-03-20T08:04:26Z f8l quit (Remote host closed the connection) 2020-03-20T08:05:55Z f8l joined #scheme 2020-03-20T08:09:29Z stultulo joined #scheme 2020-03-20T08:10:00Z badkins joined #scheme 2020-03-20T08:10:54Z f8l quit (Ping timeout: 240 seconds) 2020-03-20T08:10:55Z stultulo is now known as f8l 2020-03-20T08:11:11Z niklasl quit (Ping timeout: 250 seconds) 2020-03-20T08:14:13Z badkins quit (Ping timeout: 250 seconds) 2020-03-20T08:18:36Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T08:21:36Z civodul joined #scheme 2020-03-20T08:33:31Z klovett quit (Remote host closed the connection) 2020-03-20T08:34:07Z klovett joined #scheme 2020-03-20T08:43:27Z pmden joined #scheme 2020-03-20T08:49:17Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-20T08:55:24Z jobol joined #scheme 2020-03-20T08:55:28Z lockywolf joined #scheme 2020-03-20T08:55:40Z lockywolf__ quit (Ping timeout: 265 seconds) 2020-03-20T08:56:16Z lockywolf quit (Max SendQ exceeded) 2020-03-20T08:56:47Z lockywolf joined #scheme 2020-03-20T08:57:35Z lockywolf quit (Remote host closed the connection) 2020-03-20T08:58:04Z lockywolf joined #scheme 2020-03-20T09:05:59Z CyDefect joined #scheme 2020-03-20T09:07:04Z lockywolf_ joined #scheme 2020-03-20T09:08:00Z jitwit quit (Ping timeout: 250 seconds) 2020-03-20T09:09:49Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-20T09:11:26Z jitwit joined #scheme 2020-03-20T09:13:36Z zdm joined #scheme 2020-03-20T09:15:45Z jitwit quit (Ping timeout: 250 seconds) 2020-03-20T09:44:19Z retropikzel joined #scheme 2020-03-20T09:46:14Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-20T10:10:52Z badkins joined #scheme 2020-03-20T10:14:18Z smazga joined #scheme 2020-03-20T10:15:25Z badkins quit (Ping timeout: 265 seconds) 2020-03-20T10:36:01Z pmden quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-20T10:39:21Z cartwright quit (Remote host closed the connection) 2020-03-20T10:39:54Z lockywolf joined #scheme 2020-03-20T10:40:25Z cartwright joined #scheme 2020-03-20T10:41:15Z luni joined #scheme 2020-03-20T10:42:21Z zdm quit (Quit: WeeChat 2.7.1) 2020-03-20T10:45:04Z johncob joined #scheme 2020-03-20T10:48:58Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T11:08:02Z jcowan: duncanm: Thanks for the paper 2020-03-20T11:11:41Z jitwit joined #scheme 2020-03-20T11:15:54Z jitwit quit (Ping timeout: 240 seconds) 2020-03-20T11:54:40Z lockywolf: Did MacLisp have lexical scope already? 2020-03-20T11:58:31Z klovett quit (Remote host closed the connection) 2020-03-20T11:58:48Z klovett joined #scheme 2020-03-20T12:00:15Z wasamasa: it didn't even have let, lol 2020-03-20T12:01:24Z lockywolf quit (Remote host closed the connection) 2020-03-20T12:01:55Z lockywolf joined #scheme 2020-03-20T12:02:52Z lockywolf quit (Max SendQ exceeded) 2020-03-20T12:03:23Z lockywolf joined #scheme 2020-03-20T12:08:07Z xkapastel joined #scheme 2020-03-20T12:11:57Z badkins joined #scheme 2020-03-20T12:12:54Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-20T12:15:20Z jcowan: No, it was Guy Steele who combined lexical scope with Lisp for the first time. 2020-03-20T12:15:34Z jcowan: CL got the idea from Scheme 2020-03-20T12:15:55Z jcowan: (via the Great Quux himself, obvs) 2020-03-20T12:16:27Z badkins quit (Ping timeout: 250 seconds) 2020-03-20T12:16:44Z jcowan: Well, no, not quite. Older Lisps did dynamic binding in the interpreter, lexical binding in the compiler. Until Scheme, nobody believed that lexical-binding interpreters could be made efficient. 2020-03-20T12:22:26Z luni quit (Remote host closed the connection) 2020-03-20T12:44:57Z smazga joined #scheme 2020-03-20T13:06:06Z xi- quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-20T13:06:23Z xi joined #scheme 2020-03-20T13:11:57Z jitwit joined #scheme 2020-03-20T13:16:18Z jitwit quit (Ping timeout: 250 seconds) 2020-03-20T13:18:56Z lritter joined #scheme 2020-03-20T13:19:34Z smazga quit (Ping timeout: 240 seconds) 2020-03-20T13:36:57Z _gnomon quit (Remote host closed the connection) 2020-03-20T13:38:18Z [rg] joined #scheme 2020-03-20T13:38:27Z [rg]: is emit a function in any major scheme? 2020-03-20T13:39:24Z turtleman joined #scheme 2020-03-20T13:40:32Z badkins joined #scheme 2020-03-20T13:43:46Z ggole joined #scheme 2020-03-20T13:55:13Z retropikzel left #scheme 2020-03-20T14:20:36Z [rg] quit (Quit: [rg]) 2020-03-20T14:21:02Z [rg] joined #scheme 2020-03-20T14:28:11Z [rg] quit (Quit: [rg]) 2020-03-20T14:29:27Z klovett_ joined #scheme 2020-03-20T14:30:38Z klovett quit (Ping timeout: 256 seconds) 2020-03-20T14:34:19Z TCZ joined #scheme 2020-03-20T14:37:58Z oni-on-ion quit (Remote host closed the connection) 2020-03-20T14:38:06Z lavaflow joined #scheme 2020-03-20T14:38:22Z oni-on-ion joined #scheme 2020-03-20T14:43:54Z luni joined #scheme 2020-03-20T14:45:12Z smazga joined #scheme 2020-03-20T14:47:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-20T14:57:30Z brendyyn quit (Quit: WeeChat 2.7.1) 2020-03-20T15:00:54Z klovett_ quit (Remote host closed the connection) 2020-03-20T15:08:54Z johncob_ joined #scheme 2020-03-20T15:10:46Z johncob quit (Ping timeout: 246 seconds) 2020-03-20T15:12:11Z jitwit joined #scheme 2020-03-20T15:13:38Z jao joined #scheme 2020-03-20T15:16:17Z jitwit quit (Ping timeout: 250 seconds) 2020-03-20T15:22:21Z lavaflow quit (Ping timeout: 250 seconds) 2020-03-20T15:29:26Z brendyyn joined #scheme 2020-03-20T15:29:35Z jitwit joined #scheme 2020-03-20T15:30:50Z TCZ is now known as DontBelieveScien 2020-03-20T15:31:44Z DontBelieveScien is now known as FkTheScience 2020-03-20T15:31:46Z oni-on-ion quit (Ping timeout: 246 seconds) 2020-03-20T15:37:53Z Riastradh: aeth: An NFA is not simply a set of strings; this is why what you're saying suggests to me that you're not familiar with what an NFA or DFA are. Either an NFA or a DFA can recognize the set of strings {AB, AC}. 2020-03-20T15:40:34Z badkins quit (Remote host closed the connection) 2020-03-20T15:47:35Z FkTheScience quit (Quit: Leaving) 2020-03-20T15:49:38Z jcowan: Indeed, this is true of any set of strings whatsoever 2020-03-20T15:53:56Z smazga quit (Ping timeout: 256 seconds) 2020-03-20T15:54:17Z badkins joined #scheme 2020-03-20T15:58:48Z badkins quit (Ping timeout: 250 seconds) 2020-03-20T16:02:42Z ngz joined #scheme 2020-03-20T16:05:30Z lavaflow joined #scheme 2020-03-20T16:08:56Z liulanghaitun joined #scheme 2020-03-20T16:12:04Z lavaflow quit (Ping timeout: 256 seconds) 2020-03-20T16:12:38Z skapata joined #scheme 2020-03-20T16:15:47Z smazga joined #scheme 2020-03-20T16:16:15Z liulanghaitun quit (Quit: Leaving.) 2020-03-20T16:21:34Z drakonis1 joined #scheme 2020-03-20T16:22:20Z oni-on-ion joined #scheme 2020-03-20T16:22:56Z drakonis1 is now known as drakonis 2020-03-20T16:28:39Z TCZ joined #scheme 2020-03-20T16:29:04Z jitwit left #scheme 2020-03-20T16:31:05Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-20T16:31:35Z smazga quit (Read error: Connection reset by peer) 2020-03-20T16:31:49Z oni-on-ion joined #scheme 2020-03-20T16:35:22Z badkins joined #scheme 2020-03-20T16:36:07Z smazga joined #scheme 2020-03-20T16:44:18Z hugh_marera joined #scheme 2020-03-20T16:51:34Z brendyyn quit (Ping timeout: 240 seconds) 2020-03-20T16:53:26Z hugh_marera quit (Quit: hugh_marera) 2020-03-20T16:54:17Z lavaflow joined #scheme 2020-03-20T16:55:47Z hugh_marera joined #scheme 2020-03-20T16:57:27Z klovett joined #scheme 2020-03-20T17:00:00Z klovett quit (Remote host closed the connection) 2020-03-20T17:00:17Z klovett joined #scheme 2020-03-20T17:02:35Z klovett_ joined #scheme 2020-03-20T17:05:01Z klovett quit (Ping timeout: 264 seconds) 2020-03-20T17:06:10Z TCZ quit (Quit: Leaving) 2020-03-20T17:07:56Z Naptra joined #scheme 2020-03-20T17:10:12Z oxum joined #scheme 2020-03-20T17:10:22Z oxum quit (Read error: Connection reset by peer) 2020-03-20T17:12:25Z hugh_marera quit (Ping timeout: 250 seconds) 2020-03-20T17:14:22Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-20T17:14:54Z oni-on-ion joined #scheme 2020-03-20T17:15:48Z stultulo joined #scheme 2020-03-20T17:16:25Z f8l quit (Ping timeout: 264 seconds) 2020-03-20T17:16:35Z stultulo is now known as f8l 2020-03-20T17:19:13Z luni quit (Remote host closed the connection) 2020-03-20T17:21:22Z stultulo joined #scheme 2020-03-20T17:23:44Z f8l quit (Ping timeout: 250 seconds) 2020-03-20T17:24:32Z oldf8l joined #scheme 2020-03-20T17:24:32Z Khisanth quit (Ping timeout: 246 seconds) 2020-03-20T17:24:52Z oldf8l is now known as f8l 2020-03-20T17:26:18Z stultulo quit (Ping timeout: 256 seconds) 2020-03-20T17:30:20Z stultulo joined #scheme 2020-03-20T17:30:50Z f8l quit (Ping timeout: 256 seconds) 2020-03-20T17:30:51Z stultulo is now known as f8l 2020-03-20T17:35:23Z smazga quit (Ping timeout: 250 seconds) 2020-03-20T17:38:07Z drakonis quit (Ping timeout: 246 seconds) 2020-03-20T17:38:14Z Khisanth joined #scheme 2020-03-20T17:43:18Z notzmv quit (Ping timeout: 256 seconds) 2020-03-20T17:45:20Z f8l quit (Remote host closed the connection) 2020-03-20T17:46:39Z f8l joined #scheme 2020-03-20T17:47:53Z turtleman quit (Quit: Leaving) 2020-03-20T17:48:13Z turtleman joined #scheme 2020-03-20T17:54:00Z mango joined #scheme 2020-03-20T17:55:49Z drakonis joined #scheme 2020-03-20T17:58:24Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-20T18:01:35Z stultulo joined #scheme 2020-03-20T18:03:34Z f8l quit (Ping timeout: 240 seconds) 2020-03-20T18:03:34Z stultulo is now known as f8l 2020-03-20T18:11:24Z f8l quit (Ping timeout: 250 seconds) 2020-03-20T18:11:55Z stultulo joined #scheme 2020-03-20T18:12:18Z stultulo is now known as f8l 2020-03-20T18:20:01Z Khisanth joined #scheme 2020-03-20T18:37:47Z klovett_ is now known as klovett 2020-03-20T18:48:48Z luni joined #scheme 2020-03-20T18:50:43Z jobol quit (Quit: Leaving) 2020-03-20T19:04:47Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-20T19:10:34Z stepnem quit (Ping timeout: 256 seconds) 2020-03-20T19:10:35Z badkins quit (Remote host closed the connection) 2020-03-20T19:11:01Z stepnem joined #scheme 2020-03-20T19:11:14Z badkins joined #scheme 2020-03-20T19:15:58Z badkins quit (Ping timeout: 250 seconds) 2020-03-20T19:17:52Z hugh_marera joined #scheme 2020-03-20T19:18:53Z coffeeturtle joined #scheme 2020-03-20T19:21:19Z stepnem quit (Read error: Connection reset by peer) 2020-03-20T19:22:42Z leb joined #scheme 2020-03-20T19:23:50Z stepnem joined #scheme 2020-03-20T19:25:48Z snits_ quit (Ping timeout: 256 seconds) 2020-03-20T19:26:55Z andreycizov joined #scheme 2020-03-20T19:36:11Z madage quit (Remote host closed the connection) 2020-03-20T19:36:28Z madage joined #scheme 2020-03-20T19:37:43Z badkins joined #scheme 2020-03-20T19:44:18Z whiteline quit (Remote host closed the connection) 2020-03-20T19:47:04Z whiteline joined #scheme 2020-03-20T19:55:48Z snits joined #scheme 2020-03-20T19:56:31Z leb quit 2020-03-20T20:05:28Z _leb joined #scheme 2020-03-20T20:19:47Z CyDefect quit (Quit: Verlassend) 2020-03-20T20:21:49Z andreycizov quit (Ping timeout: 264 seconds) 2020-03-20T20:22:50Z daviid quit (Remote host closed the connection) 2020-03-20T20:25:49Z _leb quit 2020-03-20T20:41:34Z andreycizov joined #scheme 2020-03-20T20:41:53Z coffeeturtle quit (Remote host closed the connection) 2020-03-20T20:56:19Z xelxebar joined #scheme 2020-03-20T21:00:27Z TCZ joined #scheme 2020-03-20T21:13:20Z turtleman quit (Quit: Leaving) 2020-03-20T21:21:25Z ggole quit (Quit: Leaving) 2020-03-20T21:23:39Z turtleman joined #scheme 2020-03-20T21:24:43Z klovett_ joined #scheme 2020-03-20T21:26:34Z klovett quit (Ping timeout: 240 seconds) 2020-03-20T21:32:16Z Naptra quit (Remote host closed the connection) 2020-03-20T21:34:10Z daviid joined #scheme 2020-03-20T21:42:13Z andreycizov_ joined #scheme 2020-03-20T21:43:34Z andreycizov quit (Ping timeout: 256 seconds) 2020-03-20T21:56:54Z gravicappa quit (Ping timeout: 240 seconds) 2020-03-20T22:23:22Z hugh_marera quit (Quit: hugh_marera) 2020-03-20T22:27:03Z TCZ quit (Quit: Leaving) 2020-03-20T22:27:07Z badkins quit (Remote host closed the connection) 2020-03-20T22:27:42Z badkins joined #scheme 2020-03-20T22:31:50Z andreycizov_ quit (Ping timeout: 250 seconds) 2020-03-20T22:32:37Z badkins quit (Ping timeout: 264 seconds) 2020-03-20T22:34:47Z leb joined #scheme 2020-03-20T22:36:29Z badkins joined #scheme 2020-03-20T22:44:00Z leb quit 2020-03-20T22:49:50Z torbo joined #scheme 2020-03-20T22:56:13Z lritter quit (Quit: Leaving) 2020-03-20T22:57:49Z f8l quit (Remote host closed the connection) 2020-03-20T22:59:21Z f8l joined #scheme 2020-03-20T23:01:35Z ayerhart joined #scheme 2020-03-20T23:02:50Z ayerhart quit (Client Quit) 2020-03-20T23:04:02Z CORDIC quit (Ping timeout: 246 seconds) 2020-03-20T23:06:00Z ayerhart joined #scheme 2020-03-20T23:07:05Z ayerhart quit (Client Quit) 2020-03-20T23:07:35Z ayerhart joined #scheme 2020-03-20T23:07:45Z mango quit (Quit: mango) 2020-03-20T23:10:37Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-20T23:13:21Z mango joined #scheme 2020-03-20T23:13:53Z badkins quit (Remote host closed the connection) 2020-03-20T23:14:36Z badkins joined #scheme 2020-03-20T23:15:22Z nulquen joined #scheme 2020-03-20T23:19:14Z badkins quit (Ping timeout: 240 seconds) 2020-03-20T23:23:16Z Lysandros quit (Remote host closed the connection) 2020-03-20T23:24:53Z aos_ joined #scheme 2020-03-20T23:25:26Z andreh quit (Ping timeout: 246 seconds) 2020-03-20T23:25:26Z aos quit (Ping timeout: 246 seconds) 2020-03-20T23:25:27Z skapata quit (Ping timeout: 246 seconds) 2020-03-20T23:25:27Z ngz quit (Ping timeout: 246 seconds) 2020-03-20T23:25:32Z andreh_ joined #scheme 2020-03-20T23:25:45Z Lysandros joined #scheme 2020-03-20T23:25:45Z Lysandros quit (Changing host) 2020-03-20T23:25:45Z Lysandros joined #scheme 2020-03-20T23:25:49Z skapata joined #scheme 2020-03-20T23:26:05Z timwis quit (Ping timeout: 246 seconds) 2020-03-20T23:26:29Z timwis joined #scheme 2020-03-20T23:28:02Z mango quit (Quit: mango) 2020-03-20T23:31:00Z stultulo joined #scheme 2020-03-20T23:31:39Z torbo quit (Remote host closed the connection) 2020-03-20T23:33:14Z f8l quit (Ping timeout: 240 seconds) 2020-03-20T23:33:14Z stultulo is now known as f8l 2020-03-20T23:34:32Z ayerhart_ joined #scheme 2020-03-20T23:36:24Z seepel joined #scheme 2020-03-20T23:37:07Z vyzo quit (Ping timeout: 246 seconds) 2020-03-20T23:37:07Z Lysandros quit (Remote host closed the connection) 2020-03-20T23:37:07Z timwis quit (Ping timeout: 246 seconds) 2020-03-20T23:37:15Z epony quit (Quit: reconf) 2020-03-20T23:39:32Z zig quit (Read error: Connection reset by peer) 2020-03-20T23:39:50Z timwis joined #scheme 2020-03-20T23:39:58Z Lysandros joined #scheme 2020-03-20T23:43:33Z vyzo joined #scheme 2020-03-20T23:48:00Z epony joined #scheme 2020-03-20T23:51:28Z badkins joined #scheme 2020-03-20T23:53:05Z f8l quit (Remote host closed the connection) 2020-03-20T23:54:33Z f8l joined #scheme 2020-03-20T23:55:54Z seepel quit (Ping timeout: 250 seconds) 2020-03-20T23:57:37Z drakonis joined #scheme 2020-03-21T00:00:15Z andreycizov joined #scheme 2020-03-21T00:21:55Z seepel joined #scheme 2020-03-21T00:28:19Z m1dnight quit (Ping timeout: 246 seconds) 2020-03-21T00:29:02Z andreycizov quit (Ping timeout: 256 seconds) 2020-03-21T00:29:27Z m1dnight joined #scheme 2020-03-21T00:34:22Z Riastradh quit (Ping timeout: 268 seconds) 2020-03-21T00:47:49Z luni quit (Remote host closed the connection) 2020-03-21T00:49:09Z Riastradh joined #scheme 2020-03-21T01:05:02Z xi quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-21T01:07:07Z xi joined #scheme 2020-03-21T01:10:00Z seepel: Hello schemers! I'm wondering why the convention is to use a separate .scm and .sld file vs just defining a library completely in a .scm file. Can anyone shed some light on that? 2020-03-21T01:10:19Z zig joined #scheme 2020-03-21T01:10:20Z seepel: ^ For R7RS it seems to be the case anyway 2020-03-21T01:11:00Z aeth: seepel: because the way the library syntax goes, you get an extra level of ()s, and probably indentation too if you're being consistent, if you define the library and the source in the same file 2020-03-21T01:11:19Z aeth: It's not stateful like e.g. CL's packages (which are kind of different) where you define a package and then say in-package 2020-03-21T01:11:20Z stultulo joined #scheme 2020-03-21T01:11:42Z aeth: In R7RS, you'd put the definitions within (define-library ...) unless you include them 2020-03-21T01:12:24Z aeth: oh, it's worse than I thought, it's actually two levels because you have to put them in a (begin ...) as well 2020-03-21T01:12:28Z aeth: page 29 of r7rs.pdf 2020-03-21T01:12:30Z seepel: So it seems that the indentation could plausibly be solved by a proper code formatter. Any other reasons to use a .sld and include the .scm file? 2020-03-21T01:12:54Z aeth: well, it's not just the indentation, it's the two extra ))s at the end 2020-03-21T01:13:14Z f8l quit (Ping timeout: 256 seconds) 2020-03-21T01:13:15Z stultulo is now known as f8l 2020-03-21T01:14:08Z seepel: I suppose diffs would be annoying if the trailing parens are not on their own line... 2020-03-21T01:14:13Z aeth: In theory, you could leave those ))s on their own line and ignore the indentation, yes. 2020-03-21T01:14:22Z snits quit (Ping timeout: 256 seconds) 2020-03-21T01:14:24Z aeth: You'd have to modify Emacs to be aware of it, though. And people might not like the style it produces. 2020-03-21T01:14:48Z aeth: r7rs.pdf itself doesn't do that, it uses the typical s-expression style, complete with the indentations and ))s at the end instead of on their own lines 2020-03-21T01:15:41Z seepel: Yeah, I suppose my aversion to it is that the imports and exports get pushed to another file than the actual code that defines them. 2020-03-21T01:16:04Z aeth: Well, the typical Common Lisp style is to have a separate package.lisp, so it's not just Scheme where it's a thing. 2020-03-21T01:16:16Z aeth: It's just that Scheme makes it foo.sld instead of library.scm 2020-03-21T01:16:26Z seepel: Fair point, my javascript colors are showing through :) 2020-03-21T01:16:27Z aeth: I'm not a big fan of that, either, though. 2020-03-21T01:16:45Z aeth: I guess I'm used to Java/Python where the imports are per-file and at the top 2020-03-21T01:16:56Z aeth: Also sort of C/C++, although headers are tricky 2020-03-21T01:17:04Z seepel: Haha, yeah they are 2020-03-21T01:17:45Z seepel: Cool, I'm convinced enough to follow convention, thanks! If anyone has any other reasons I'll be hanging out for a while and definitely want to hear them! 2020-03-21T01:24:30Z stultulo joined #scheme 2020-03-21T01:25:46Z badkins quit (Remote host closed the connection) 2020-03-21T01:26:01Z f8l quit (Ping timeout: 264 seconds) 2020-03-21T01:26:02Z stultulo is now known as f8l 2020-03-21T01:30:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-21T01:31:42Z xelxebar joined #scheme 2020-03-21T01:37:44Z TCZ joined #scheme 2020-03-21T01:43:37Z ahungry joined #scheme 2020-03-21T01:47:13Z seepel quit (Ping timeout: 250 seconds) 2020-03-21T01:47:45Z seepel joined #scheme 2020-03-21T01:52:29Z ahungry quit (Remote host closed the connection) 2020-03-21T01:57:35Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-21T01:59:04Z jcowan: For my SRFIs, I put all code into a .scm file or -impl.scm file so that I can include it various kinds of packagings: none for R5RS, a library file using the trivial R6RS (include) library, an R7RS define-library, or a Chicken module. 2020-03-21T01:59:18Z jcowan: seepel: ^^ 2020-03-21T02:02:26Z xelxebar quit (Remote host closed the connection) 2020-03-21T02:04:07Z seepel quit (Ping timeout: 250 seconds) 2020-03-21T02:04:48Z xelxebar joined #scheme 2020-03-21T02:05:11Z terpri quit (Remote host closed the connection) 2020-03-21T02:06:36Z terpri joined #scheme 2020-03-21T02:06:54Z Riastradh quit (Ping timeout: 240 seconds) 2020-03-21T02:11:41Z TCZ quit (Quit: Leaving) 2020-03-21T02:17:32Z klovett_ is now known as klovett 2020-03-21T02:32:31Z lockywolf joined #scheme 2020-03-21T02:34:16Z terpri quit (Remote host closed the connection) 2020-03-21T02:34:35Z terpri joined #scheme 2020-03-21T02:38:12Z brendyyn joined #scheme 2020-03-21T02:56:59Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-21T03:02:02Z foof quit (Ping timeout: 256 seconds) 2020-03-21T03:04:11Z terpri quit (Remote host closed the connection) 2020-03-21T03:04:38Z terpri joined #scheme 2020-03-21T03:15:48Z Riastradh joined #scheme 2020-03-21T03:23:39Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-21T03:28:40Z Riastradh quit (Ping timeout: 250 seconds) 2020-03-21T03:34:18Z turtleman quit (Ping timeout: 250 seconds) 2020-03-21T04:20:22Z Riastradh joined #scheme 2020-03-21T04:27:51Z lockywolf joined #scheme 2020-03-21T04:28:42Z lockywolf quit (Remote host closed the connection) 2020-03-21T04:29:11Z lockywolf joined #scheme 2020-03-21T04:49:39Z klovett quit (Remote host closed the connection) 2020-03-21T04:50:14Z klovett joined #scheme 2020-03-21T04:51:52Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-21T04:52:26Z lockywolf joined #scheme 2020-03-21T05:01:34Z gravicappa joined #scheme 2020-03-21T05:03:46Z oni-on-ion quit (Remote host closed the connection) 2020-03-21T05:04:05Z oni-on-ion joined #scheme 2020-03-21T05:12:13Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-21T05:13:09Z ggole joined #scheme 2020-03-21T05:13:36Z lockywolf joined #scheme 2020-03-21T05:23:40Z badkins joined #scheme 2020-03-21T05:23:47Z lockywolf quit (Ping timeout: 246 seconds) 2020-03-21T05:28:13Z badkins quit (Ping timeout: 250 seconds) 2020-03-21T05:28:40Z lockywolf joined #scheme 2020-03-21T05:29:34Z jao quit (Ping timeout: 250 seconds) 2020-03-21T05:31:03Z notzmv joined #scheme 2020-03-21T05:31:49Z lockywolf quit (Remote host closed the connection) 2020-03-21T05:31:55Z badkins joined #scheme 2020-03-21T05:32:23Z lockywolf joined #scheme 2020-03-21T05:33:12Z lockywolf quit (Remote host closed the connection) 2020-03-21T05:33:42Z skapata quit (Quit: Ĝis!) 2020-03-21T05:34:00Z lockywolf joined #scheme 2020-03-21T05:34:45Z lockywolf quit (Remote host closed the connection) 2020-03-21T05:36:23Z badkins quit (Ping timeout: 246 seconds) 2020-03-21T05:50:54Z seepel joined #scheme 2020-03-21T06:18:40Z seepel quit (Ping timeout: 256 seconds) 2020-03-21T06:18:48Z cross_ joined #scheme 2020-03-21T06:19:02Z tryte quit (Ping timeout: 240 seconds) 2020-03-21T06:19:02Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-21T06:19:02Z madage quit (Ping timeout: 240 seconds) 2020-03-21T06:19:02Z cartwright quit (Ping timeout: 240 seconds) 2020-03-21T06:19:15Z daviid` joined #scheme 2020-03-21T06:20:48Z tryte joined #scheme 2020-03-21T06:21:07Z cross quit (Ping timeout: 260 seconds) 2020-03-21T06:21:13Z daviid quit (Ping timeout: 264 seconds) 2020-03-21T06:22:12Z xelxebar joined #scheme 2020-03-21T06:25:07Z madage joined #scheme 2020-03-21T06:26:02Z ayerhart_ quit (Read error: Connection reset by peer) 2020-03-21T06:26:03Z ayerhart quit (Read error: Connection reset by peer) 2020-03-21T06:27:53Z ayerhart joined #scheme 2020-03-21T06:42:08Z cartwright joined #scheme 2020-03-21T06:46:40Z torbo joined #scheme 2020-03-21T06:56:10Z torbo quit (Remote host closed the connection) 2020-03-21T07:17:03Z tryte quit (Ping timeout: 240 seconds) 2020-03-21T07:18:02Z xelxebar quit (Read error: Connection reset by peer) 2020-03-21T07:18:02Z madage quit (Read error: Connection reset by peer) 2020-03-21T07:18:02Z cartwright quit (Read error: Connection reset by peer) 2020-03-21T07:18:18Z tryte joined #scheme 2020-03-21T07:19:22Z xelxebar joined #scheme 2020-03-21T07:21:23Z cartwright joined #scheme 2020-03-21T07:26:21Z madage joined #scheme 2020-03-21T07:33:21Z badkins joined #scheme 2020-03-21T07:37:50Z badkins quit (Ping timeout: 250 seconds) 2020-03-21T08:47:43Z teardown quit (Ping timeout: 258 seconds) 2020-03-21T08:55:47Z lockywolf joined #scheme 2020-03-21T08:56:56Z lockywolf: Prolog doesn't work with circular lists, does it? 2020-03-21T08:59:22Z lockywolf: What's essentially what the "occurs check" is about, right? 2020-03-21T09:02:26Z lockywolf: I'm thinking about how to write something like (r '(a b c) '(d e f) ?x ?y) -> (r '(a b c) '(d e f) #1=(a b c . #2#) #2=(d e f . #1#)) 2020-03-21T09:05:48Z pjb: lockywolf: there's a way to represent circular lists that doesn't involve back pointers. 2020-03-21T09:07:53Z pjb: using difference lists. 2020-03-21T09:11:03Z lockywolf_ joined #scheme 2020-03-21T09:12:13Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T09:12:41Z lockywolf_ joined #scheme 2020-03-21T09:14:01Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-21T09:16:43Z luni joined #scheme 2020-03-21T09:34:07Z badkins joined #scheme 2020-03-21T09:38:37Z badkins quit (Ping timeout: 264 seconds) 2020-03-21T09:39:42Z tryte quit (Remote host closed the connection) 2020-03-21T09:39:56Z tryte joined #scheme 2020-03-21T09:57:48Z stepnem quit (Ping timeout: 250 seconds) 2020-03-21T09:58:43Z stepnem joined #scheme 2020-03-21T10:18:47Z gmaggior joined #scheme 2020-03-21T11:12:35Z rbarraud|2 joined #scheme 2020-03-21T11:30:15Z civodul joined #scheme 2020-03-21T11:34:59Z badkins joined #scheme 2020-03-21T11:39:35Z badkins quit (Ping timeout: 250 seconds) 2020-03-21T11:56:31Z andreycizov joined #scheme 2020-03-21T11:57:05Z lritter joined #scheme 2020-03-21T12:00:16Z lockywolf__ joined #scheme 2020-03-21T12:01:13Z lockywolf__ quit (Remote host closed the connection) 2020-03-21T12:01:39Z lockywolf__ joined #scheme 2020-03-21T12:02:42Z lockywolf__ quit (Remote host closed the connection) 2020-03-21T12:02:47Z lockywolf_ quit (Ping timeout: 246 seconds) 2020-03-21T12:03:09Z lockywolf__ joined #scheme 2020-03-21T12:14:10Z andreycizov quit (Remote host closed the connection) 2020-03-21T12:16:24Z xkapastel joined #scheme 2020-03-21T12:33:43Z turtleman joined #scheme 2020-03-21T12:46:16Z lockywolf_ joined #scheme 2020-03-21T12:48:38Z lockywolf__ quit (Ping timeout: 246 seconds) 2020-03-21T12:50:54Z turtleman quit (Ping timeout: 240 seconds) 2020-03-21T13:16:26Z hugh_marera joined #scheme 2020-03-21T13:20:16Z epony quit (Ping timeout: 258 seconds) 2020-03-21T13:21:56Z turtleman joined #scheme 2020-03-21T13:27:06Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-21T13:28:13Z badkins joined #scheme 2020-03-21T13:30:14Z lockywolf joined #scheme 2020-03-21T13:38:01Z hugh_marera quit (Quit: hugh_marera) 2020-03-21T13:40:49Z lockywolf quit (Remote host closed the connection) 2020-03-21T13:42:10Z lockywolf joined #scheme 2020-03-21T13:51:17Z lockywolf quit (Ping timeout: 246 seconds) 2020-03-21T13:51:19Z lockywolf_ joined #scheme 2020-03-21T13:54:02Z luni quit (Remote host closed the connection) 2020-03-21T13:56:44Z epony joined #scheme 2020-03-21T13:58:31Z klovett quit (Remote host closed the connection) 2020-03-21T13:58:50Z klovett joined #scheme 2020-03-21T14:09:32Z TheGreekOwl joined #scheme 2020-03-21T14:10:29Z TheGreekOwl quit (Client Quit) 2020-03-21T14:11:07Z TheGreekOwl joined #scheme 2020-03-21T14:12:57Z lockywolf_ quit (Read error: Connection reset by peer) 2020-03-21T14:13:22Z lockywolf_ joined #scheme 2020-03-21T14:15:12Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:15:48Z lockywolf_ joined #scheme 2020-03-21T14:16:42Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:17:46Z lockywolf_ joined #scheme 2020-03-21T14:18:12Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:18:42Z lockywolf_ joined #scheme 2020-03-21T14:19:44Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:20:13Z lockywolf_ joined #scheme 2020-03-21T14:22:12Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:22:49Z lockywolf_ joined #scheme 2020-03-21T14:23:43Z lockywolf_ quit (Remote host closed the connection) 2020-03-21T14:24:06Z lockywolf_ joined #scheme 2020-03-21T14:29:38Z TCZ joined #scheme 2020-03-21T14:31:43Z lockywolf__ joined #scheme 2020-03-21T14:34:42Z lockywolf_ quit (Ping timeout: 260 seconds) 2020-03-21T14:43:06Z badkins quit (Remote host closed the connection) 2020-03-21T14:46:42Z lockywolf__ quit (Remote host closed the connection) 2020-03-21T14:47:09Z lockywolf__ joined #scheme 2020-03-21T14:47:41Z badkins joined #scheme 2020-03-21T14:52:14Z badkins quit (Ping timeout: 240 seconds) 2020-03-21T14:54:27Z TCZ quit (Quit: Leaving) 2020-03-21T15:02:28Z skapata joined #scheme 2020-03-21T15:10:01Z johncob_ quit (Remote host closed the connection) 2020-03-21T15:10:15Z johncob_ joined #scheme 2020-03-21T15:18:27Z jao joined #scheme 2020-03-21T15:19:20Z zig quit (Quit: WeeChat 1.9.1) 2020-03-21T15:20:24Z zig joined #scheme 2020-03-21T15:28:11Z lockywolf_ joined #scheme 2020-03-21T15:30:10Z snits joined #scheme 2020-03-21T15:30:20Z lockywolf__ quit (Ping timeout: 246 seconds) 2020-03-21T15:38:57Z badkins joined #scheme 2020-03-21T16:05:37Z lritter quit (Ping timeout: 264 seconds) 2020-03-21T16:07:57Z hidetora joined #scheme 2020-03-21T16:11:32Z lritter joined #scheme 2020-03-21T16:12:13Z deesix quit (Ping timeout: 264 seconds) 2020-03-21T16:13:03Z deesix joined #scheme 2020-03-21T16:52:27Z luni joined #scheme 2020-03-21T16:54:22Z drakonis1 joined #scheme 2020-03-21T17:01:26Z mdhughes: I've always just implemented circular lists with an array, an index, and modulo. 2020-03-21T17:03:46Z oni-on-ion quit (Remote host closed the connection) 2020-03-21T17:04:10Z oni-on-ion joined #scheme 2020-03-21T17:05:41Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-21T17:21:33Z izh_ joined #scheme 2020-03-21T17:36:04Z oni-on-ion quit (Ping timeout: 265 seconds) 2020-03-21T18:14:45Z TheGreekOwl: register 2020-03-21T18:18:36Z gioyik joined #scheme 2020-03-21T18:19:31Z hugh_marera joined #scheme 2020-03-21T18:20:10Z xkapastel joined #scheme 2020-03-21T18:22:39Z boredmanicrobot joined #scheme 2020-03-21T18:23:53Z stepnem quit (Ping timeout: 250 seconds) 2020-03-21T18:24:14Z stepnem joined #scheme 2020-03-21T18:35:18Z TheGreekOwl quit (Quit: I must go, my planet needs me.) 2020-03-21T18:35:26Z zaifir: Any Schemers want to contribute to the Scheme wikibook? (https://en.wikibooks.org/wiki/Scheme_Programming) It's unfortunately rather incomplete and confusing, and I've proposed a major overhaul: https://en.wikibooks.org/wiki/Talk:Scheme_Programming#Rewrite_and_restructure 2020-03-21T18:37:13Z boredmanicrobot quit (Quit: boredmanicrobot) 2020-03-21T18:43:13Z oni-on-ion joined #scheme 2020-03-21T18:43:30Z luni quit (Remote host closed the connection) 2020-03-21T18:54:05Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-21T18:54:15Z oni-on-ion joined #scheme 2020-03-21T18:57:56Z boredmanicrobot joined #scheme 2020-03-21T19:12:07Z drakonis1 is now known as drakonis 2020-03-21T19:16:46Z boredmanicrobot quit (Quit: boredmanicrobot) 2020-03-21T19:25:44Z luni joined #scheme 2020-03-21T20:09:23Z seepel joined #scheme 2020-03-21T20:14:45Z seepel: jcowan: Just saw your message about .sld library definitions. That makes sense, so if I understand correctly it makes it easier to maintain portable scheme code? 2020-03-21T20:15:08Z jcowan: Just so. 2020-03-21T20:16:28Z seepel: Now it makes me curious, if you weren't worried about writing portable scheme, do you think you would still prefer to separate the library definition? 2020-03-21T20:23:45Z jcowan: I think so, yes. 2020-03-21T20:24:42Z jcowan: For one thing, if you load non-library code you have access to all of it, not just the exposed API, for debugging purposes. 2020-03-21T20:25:25Z seepel: Ahh, I use mostly guile which has an in-package style repl command... 2020-03-21T20:25:53Z seepel: So that particular problem hasn't bitten me. 2020-03-21T20:26:04Z seepel: But I can see the utility 2020-03-21T20:30:25Z pilne quit (Read error: Connection reset by peer) 2020-03-21T20:31:37Z pilne joined #scheme 2020-03-21T20:58:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-21T21:03:28Z izh_ quit (Quit: Leaving) 2020-03-21T21:05:12Z ggole quit (Quit: Leaving) 2020-03-21T21:06:37Z TCZ joined #scheme 2020-03-21T21:06:48Z aeth: I've always just implemented circularity by I've always just implemented circularity by I've always just implemented circularity by... 2020-03-21T21:26:28Z acarrico quit (Ping timeout: 256 seconds) 2020-03-21T21:32:57Z boredmanicrobot joined #scheme 2020-03-21T21:48:18Z rudybot is now known as rudybot_ 2020-03-21T21:48:52Z rudybot joined #scheme 2020-03-21T21:48:58Z rudybot quit (Remote host closed the connection) 2020-03-21T21:49:28Z rudybot_ is now known as rudybot 2020-03-21T21:51:19Z rudybot quit (Remote host closed the connection) 2020-03-21T21:52:12Z rudybot joined #scheme 2020-03-21T21:56:37Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-21T22:02:11Z boredmanicrobot quit (Quit: boredmanicrobot) 2020-03-21T22:08:14Z seepel quit (Ping timeout: 240 seconds) 2020-03-21T22:09:15Z seepel joined #scheme 2020-03-21T22:22:39Z klovett quit (Ping timeout: 250 seconds) 2020-03-21T22:24:34Z zig quit (Quit: WeeChat 1.9.1) 2020-03-21T22:25:13Z hidetora quit (Quit: leaving) 2020-03-21T22:26:13Z badkins quit (Remote host closed the connection) 2020-03-21T22:27:40Z klovett joined #scheme 2020-03-21T22:36:26Z daviid` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-21T22:37:16Z daviid joined #scheme 2020-03-21T22:42:55Z jcowan: Recursion: see recursion. Tail recursion: If you are sick of this, see recursion, but otherwise see tail recursion. 2020-03-21T22:45:20Z boredmanicrobot joined #scheme 2020-03-21T22:45:38Z boredmanicrobot quit (Client Quit) 2020-03-21T22:47:56Z aeth: shouldn't it be "tail recursion: If you are sick of this, then return, but otherwise see tail recursion."? 2020-03-21T23:04:38Z mason: Tail recursion: see: GOTO 2020-03-21T23:10:33Z luni: Where? 2020-03-21T23:25:32Z lritter quit (Ping timeout: 250 seconds) 2020-03-21T23:28:45Z TCZ quit (Quit: Leaving) 2020-03-21T23:29:41Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-21T23:33:43Z hugh_marera quit (Ping timeout: 250 seconds) 2020-03-21T23:34:42Z hugh_marera joined #scheme 2020-03-21T23:34:58Z hugh_marera quit (Client Quit) 2020-03-21T23:35:53Z gioyik quit (Ping timeout: 250 seconds) 2020-03-21T23:38:07Z gioyik joined #scheme 2020-03-21T23:46:18Z badkins joined #scheme 2020-03-21T23:56:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-22T00:06:42Z gioyik quit (Ping timeout: 250 seconds) 2020-03-22T00:08:06Z badkins joined #scheme 2020-03-22T00:22:22Z badkins quit (Remote host closed the connection) 2020-03-22T00:22:54Z badkins joined #scheme 2020-03-22T00:26:06Z gioyik joined #scheme 2020-03-22T00:27:34Z badkins quit (Ping timeout: 240 seconds) 2020-03-22T00:39:31Z acarrico joined #scheme 2020-03-22T00:57:44Z torbo joined #scheme 2020-03-22T01:03:41Z luni quit (Remote host closed the connection) 2020-03-22T01:08:50Z terpri quit (Quit: Leaving) 2020-03-22T01:22:55Z terpri joined #scheme 2020-03-22T01:23:30Z aos_ quit (Quit: leaving) 2020-03-22T01:23:38Z aos joined #scheme 2020-03-22T01:24:22Z badkins joined #scheme 2020-03-22T01:30:37Z badkins quit (Remote host closed the connection) 2020-03-22T01:31:32Z badkins joined #scheme 2020-03-22T01:36:11Z badkins quit (Ping timeout: 246 seconds) 2020-03-22T02:20:40Z gmaggior quit (Remote host closed the connection) 2020-03-22T02:23:24Z dmiles quit (Ping timeout: 256 seconds) 2020-03-22T02:24:34Z gioyik quit (Ping timeout: 240 seconds) 2020-03-22T02:27:18Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-22T02:31:30Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-22T02:39:58Z torbo quit (Remote host closed the connection) 2020-03-22T02:40:44Z Khisanth joined #scheme 2020-03-22T02:59:44Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-22T02:59:58Z gioyik joined #scheme 2020-03-22T03:06:29Z gioyik quit (Ping timeout: 246 seconds) 2020-03-22T03:08:34Z acarrico quit (Ping timeout: 240 seconds) 2020-03-22T03:32:02Z seepel quit (Ping timeout: 246 seconds) 2020-03-22T03:32:06Z gioyik joined #scheme 2020-03-22T03:53:01Z turtleman quit (Ping timeout: 264 seconds) 2020-03-22T03:56:13Z jao quit (Remote host closed the connection) 2020-03-22T04:03:45Z jcowan: aeth: There are lots of variants 2020-03-22T04:03:51Z jcowan: But I like yours 2020-03-22T04:31:15Z gravicappa joined #scheme 2020-03-22T04:36:37Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-22T04:44:35Z jao joined #scheme 2020-03-22T04:51:53Z lockywolf joined #scheme 2020-03-22T04:52:43Z lockywolf quit (Remote host closed the connection) 2020-03-22T04:53:13Z lockywolf joined #scheme 2020-03-22T04:54:42Z lockywolf quit (Remote host closed the connection) 2020-03-22T04:54:52Z skapata quit (Quit: Ĝis!) 2020-03-22T04:55:18Z lockywolf joined #scheme 2020-03-22T04:58:45Z pilne quit (Quit: Live long and prosper \v//) 2020-03-22T05:03:57Z pilne joined #scheme 2020-03-22T05:15:29Z dmiles joined #scheme 2020-03-22T06:12:00Z jao quit (Ping timeout: 250 seconds) 2020-03-22T06:13:26Z badkins joined #scheme 2020-03-22T06:16:33Z badkins quit (Remote host closed the connection) 2020-03-22T06:45:31Z xelxebar joined #scheme 2020-03-22T06:46:54Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-22T06:54:03Z oni-on-ion quit (Remote host closed the connection) 2020-03-22T06:54:24Z oni-on-ion joined #scheme 2020-03-22T06:57:52Z lockywolf quit (Read error: Connection reset by peer) 2020-03-22T06:58:42Z lockywolf joined #scheme 2020-03-22T06:59:00Z ggole joined #scheme 2020-03-22T07:43:07Z lockywolf quit (Ping timeout: 260 seconds) 2020-03-22T07:45:07Z lockywolf joined #scheme 2020-03-22T07:55:25Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-22T07:58:32Z klovett quit (Remote host closed the connection) 2020-03-22T07:59:08Z klovett joined #scheme 2020-03-22T08:02:02Z lockywolf joined #scheme 2020-03-22T08:12:54Z f8l quit (Ping timeout: 250 seconds) 2020-03-22T08:13:39Z stultulo joined #scheme 2020-03-22T08:14:00Z stultulo is now known as f8l 2020-03-22T08:18:38Z lockywolf_ joined #scheme 2020-03-22T08:19:21Z aeth quit (Ping timeout: 250 seconds) 2020-03-22T08:21:17Z aeth joined #scheme 2020-03-22T08:21:37Z lockywolf quit (Ping timeout: 260 seconds) 2020-03-22T08:42:53Z ngz joined #scheme 2020-03-22T09:20:42Z lockywolf__ joined #scheme 2020-03-22T09:21:10Z luni joined #scheme 2020-03-22T09:21:36Z lockywolf__ quit (Client Quit) 2020-03-22T09:21:54Z lockywolf__ joined #scheme 2020-03-22T09:23:37Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-22T09:30:15Z stultulo joined #scheme 2020-03-22T09:30:49Z f8l quit (Ping timeout: 264 seconds) 2020-03-22T09:30:50Z stultulo is now known as f8l 2020-03-22T09:31:17Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-22T09:35:18Z badkins joined #scheme 2020-03-22T09:36:04Z badkins quit (Remote host closed the connection) 2020-03-22T09:40:14Z f8l quit (Ping timeout: 240 seconds) 2020-03-22T09:40:21Z badkins joined #scheme 2020-03-22T09:40:41Z stultulo joined #scheme 2020-03-22T09:41:01Z stultulo is now known as f8l 2020-03-22T09:45:09Z badkins quit (Ping timeout: 250 seconds) 2020-03-22T09:47:59Z abbe quit (Quit: “Everytime that we are together, it's always estatically palpitating!”) 2020-03-22T09:52:54Z f8l quit (Remote host closed the connection) 2020-03-22T09:54:21Z f8l joined #scheme 2020-03-22T10:02:32Z f8l quit (Ping timeout: 250 seconds) 2020-03-22T10:03:48Z f8l joined #scheme 2020-03-22T10:41:13Z zig joined #scheme 2020-03-22T10:49:44Z luni quit (Remote host closed the connection) 2020-03-22T10:57:35Z lockywolf_ joined #scheme 2020-03-22T11:00:13Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-22T11:06:27Z badkins joined #scheme 2020-03-22T11:11:28Z xkapastel joined #scheme 2020-03-22T11:13:15Z badkins quit (Remote host closed the connection) 2020-03-22T11:13:34Z amerigo joined #scheme 2020-03-22T11:20:15Z hugh_marera joined #scheme 2020-03-22T11:42:11Z abbe joined #scheme 2020-03-22T11:54:51Z zig quit (Quit: WeeChat 1.9.1) 2020-03-22T11:55:49Z zig joined #scheme 2020-03-22T12:14:15Z epony quit (Quit: reconf) 2020-03-22T12:14:36Z epony joined #scheme 2020-03-22T12:27:28Z hugh_marera quit (Ping timeout: 256 seconds) 2020-03-22T12:30:23Z hugh_marera joined #scheme 2020-03-22T13:02:44Z luni joined #scheme 2020-03-22T13:07:47Z TCZ joined #scheme 2020-03-22T13:16:53Z turtleman joined #scheme 2020-03-22T13:26:14Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-22T13:27:31Z lockywolf joined #scheme 2020-03-22T13:37:41Z lucasb joined #scheme 2020-03-22T13:47:40Z lockywolf_ joined #scheme 2020-03-22T13:48:44Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-22T13:50:41Z acarrico joined #scheme 2020-03-22T13:55:55Z lritter joined #scheme 2020-03-22T13:58:38Z civodul joined #scheme 2020-03-22T14:03:21Z lockywolf__ joined #scheme 2020-03-22T14:05:14Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-22T14:11:04Z kritixilithos joined #scheme 2020-03-22T14:11:48Z lockywolf__: Is there a limit on the length of a procedure name in scheme? 2020-03-22T14:12:38Z lockywolf__: Or rather the length of a symbol? 2020-03-22T14:12:41Z pilne_ joined #scheme 2020-03-22T14:14:18Z pilne quit (Ping timeout: 246 seconds) 2020-03-22T14:15:05Z jcowan: How much memory you have, usually. 2020-03-22T14:15:44Z jcowan: In the first book on Lisp I ever read, one of the examples of a symbol was EXTREMELYVERYLONGSTRINGOFLETTERSANDSTUFF. 2020-03-22T14:20:29Z jcowan: Lisp culture really, really doesn't like arbitrary limits. 2020-03-22T14:22:13Z jcowan: There are a few in Common Lisp like lambda-parameters-limit, call-arguments-limit, and multiple-values-limit, but in SBCL they are set to most-positive-fixnum (2^62 on 64-bit machines) 2020-03-22T14:34:33Z wasamasa: Clojure has Javaish limits 2020-03-22T14:35:15Z wasamasa: I once ran into the limit of class members for a particularly gnarly top-level form 2020-03-22T14:37:34Z gwatt: Scala has some weird limits. Tuples can only have 22 or 23 elements 2020-03-22T14:38:21Z pilne_ quit (Read error: Connection reset by peer) 2020-03-22T14:42:58Z pilne joined #scheme 2020-03-22T14:43:27Z TCZ quit (Quit: Leaving) 2020-03-22T14:43:48Z fgudin quit (Quit: leaving) 2020-03-22T14:43:50Z jcowan: That's going away though based on the new representation of tuples 2020-03-22T14:44:00Z fgudin joined #scheme 2020-03-22T14:45:02Z TCZ joined #scheme 2020-03-22T14:50:44Z jcowan: https://dotty.epfl.ch/docs/reference/dropped-features/limit22.html (for Scala 3.0, the next release) 2020-03-22T14:54:32Z pilne quit (Read error: Connection reset by peer) 2020-03-22T14:57:00Z TCZ quit (Quit: Leaving) 2020-03-22T14:58:25Z pilne joined #scheme 2020-03-22T15:16:09Z klovett quit (Remote host closed the connection) 2020-03-22T15:16:24Z klovett joined #scheme 2020-03-22T15:18:23Z pilne_ joined #scheme 2020-03-22T15:18:48Z pilne quit (Read error: Connection reset by peer) 2020-03-22T15:19:31Z rgherdt joined #scheme 2020-03-22T15:20:16Z pilne_ quit (Client Quit) 2020-03-22T15:27:27Z pilne joined #scheme 2020-03-22T15:33:06Z amerigo quit (Quit: Connection closed for inactivity) 2020-03-22T15:35:00Z pilne quit (Read error: Connection reset by peer) 2020-03-22T15:37:36Z luni: Hi all... The question is not specific to Scheme but i will try to ask the same. I'm having troubles using modules specifically in Guile. I have defined a module in a .scm file but when i do in the REPL (use-modules (my-module)) or ,reload my-module looks like the updates made in the .scm file are not considered at all if i try to use the exported 2020-03-22T15:37:37Z luni: functions/macros in the REPL. Any kind advice to try to solve? Thank you in advance 2020-03-22T15:38:00Z pilne joined #scheme 2020-03-22T15:39:31Z badkins joined #scheme 2020-03-22T15:41:50Z brendyyn quit (Ping timeout: 250 seconds) 2020-03-22T15:46:43Z zig: never used ,reload in the REPL 2020-03-22T15:46:50Z zig: with guile or other schemes. 2020-03-22T15:47:49Z TCZ joined #scheme 2020-03-22T15:48:02Z zaifir: What's the difference between ,reload and load/import? 2020-03-22T15:48:17Z zig: otherwise said, I restart the REPL for every hange i want to test. 2020-03-22T15:48:34Z zig: change* 2020-03-22T15:49:02Z luni: ok... thank you 2020-03-22T15:49:08Z zaifir: Also, does Guile not use libraries? 2020-03-22T15:49:10Z zig: (automated are usually better than REPL testing, when I have tests I do not use the REPL much) 2020-03-22T15:50:04Z luni: could you please point me to some example to see what you mean by "automated" 2020-03-22T15:50:23Z zig: also known as unit tests 2020-03-22T15:50:28Z zaifir: OK, Guile does have R6RS libraries. It would be nice if they used them. 2020-03-22T15:52:49Z zaifir: luni: It should be possible to load a new version of a bunch of definitions without restarting the REPL. 2020-03-22T15:53:13Z luni: yes... for functions defined inside a module is not a problem 2020-03-22T15:53:50Z luni: but for macros i still not know how to do ... because if i modify them, after reloading has no effect 2020-03-22T15:53:55Z zaifir: luni: Ah, OK. 2020-03-22T15:54:11Z zaifir: Hmm, maybe that's a Guile issue. 2020-03-22T15:54:14Z ayerhart_ joined #scheme 2020-03-22T15:54:38Z jcowan: How are you trying to reload your macros? 2020-03-22T15:55:19Z ayerhart__ joined #scheme 2020-03-22T15:55:29Z ayerhart__ quit (Read error: Connection reset by peer) 2020-03-22T15:55:29Z ayerhart quit (Read error: Connection reset by peer) 2020-03-22T15:55:29Z ayerhart_ quit (Read error: Connection reset by peer) 2020-03-22T15:55:47Z ayerhart joined #scheme 2020-03-22T15:56:39Z luni: with ,relaod my-module 2020-03-22T15:57:01Z luni: (use-modules (my-module) the first time 2020-03-22T15:57:56Z luni: so if i modify a function defined inside the module ,reload works but the same is not true for macros 2020-03-22T15:58:21Z zaifir: It's interesting, CHICKEN also doesn't seem to update syntax definitions when a module is re-imported. 2020-03-22T15:58:30Z zig: fwiw there is bug with macros and guile modules 2020-03-22T15:58:30Z mdhughes: You can't reload a library (or module?) in most cases, but you can (load "foo.scm") instead. 2020-03-22T15:59:18Z mdhughes: Which is the argument for using both foo.sld and foo.scm (but I mostly don't unless I run into this) 2020-03-22T15:59:46Z zaifir: The issue luni has is how to reload macros defined in a module/library, IIUC. 2020-03-22T16:00:18Z mdhughes: Macros should be redefined when you reload… 2020-03-22T16:01:00Z zig: when you change a macro inside a module, guile doesn't detect the macro change of definition and will not recompile the file before exec, so you end up with the previously compiled macro 2020-03-22T16:01:18Z luni: zafir let me paste the example so you could see 2020-03-22T16:01:24Z luni: Uploaded file: https://uploads.kiwiirc.com/files/b57463c405687ea1fed9077dff90d8de/pasted.txt 2020-03-22T16:01:25Z zaifir: zig: That makes sense. 2020-03-22T16:01:27Z stux16777216Away quit (Remote host closed the connection) 2020-03-22T16:03:04Z zaifir: luni: Right, so you reload that file, but you end up with the old def. of ‘time’. 2020-03-22T16:03:19Z luni: yes that is 2020-03-22T16:03:40Z zaifir: It might be an interesting experiment to see if let-syntax is handled correctly. 2020-03-22T16:05:55Z zig: luni: try to deleted the previously compiled file, before you reload. 2020-03-22T16:06:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-22T16:06:31Z zig: I am not sure guile rely on compilation in the REPL? 2020-03-22T16:06:53Z zig: I mean If you import a module in the guile REPL, is the module compiled? 2020-03-22T16:09:17Z luni: zig... now i'm reading about eval-when here... https://www.gnu.org/software/guile/manual/html_node/Eval-When.html 2020-03-22T16:09:21Z kritixilithos joined #scheme 2020-03-22T16:13:15Z zaifir: I guess Guile doesn't recompile macros when reloading a file? 2020-03-22T16:15:38Z zaifir: Hmm, Guile's implementation of the R6 ‘library’ form doesn't seem to work... 2020-03-22T16:24:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-22T16:24:37Z zig: how it does work? 2020-03-22T16:24:59Z zig: +not 2020-03-22T16:25:02Z zig: I tried it a few weeks ago, with 2.9.x it worked 2020-03-22T16:25:50Z kritixilithos joined #scheme 2020-03-22T16:27:05Z jcowan: My dev workflow treats the REPL as completely dispensable: when I need to try a new version, I terminate it and start a new REPL 2020-03-22T16:27:06Z zaifir: Loading (library (foo (1)) (export foo) (define (foo x) x)) in Guile gives an unhelpful syntax error. 2020-03-22T16:27:50Z zig: I know unhelpful syntax error in guile, but I never tried versioned r6 library definitions. 2020-03-22T16:28:21Z jcowan: The version numbers are bogus anyway 2020-03-22T16:30:03Z gwatt: zaifir: You need an import form as well 2020-03-22T16:30:20Z gwatt: (library (name ...) (export ...) (import ...) body ...) 2020-03-22T16:30:26Z luni: zaifir anyway the "solution" i'm adopting for now is: [0] put the macro definition in the module file inside (eval-when (expand load eval) ...) [1a] (load "my-module.scm") the first time [1b] (use-modules (my-module)) the first time [2] ,reload my-module after any change inside the module to have effect in the REPL 2020-03-22T16:31:14Z zaifir: gwatt: Ah, ty. 2020-03-22T16:31:26Z jcowan: define is meaningless until you have imported it from somewhere 2020-03-22T16:31:42Z jcowan: Eval-when! Urgh!! 2020-03-22T16:31:54Z jcowan: Evil!!!! 2020-03-22T16:32:03Z zaifir: What is eval-when? 2020-03-22T16:33:23Z gwatt: You can specify a time a piece of code should be run. Different systems may have different options. For example, Chez has visit, load, compile, eval, and revisit 2020-03-22T16:33:26Z gwatt: http://cisco.github.io/ChezScheme/csug9.5/system.html#./system:s98 2020-03-22T16:33:31Z jcowan: A CL thing that some Schemes do. It basically provides manual phasing control. 2020-03-22T16:33:51Z zaifir: Yuck. 2020-03-22T16:34:07Z jcowan: Exactly. And even then you can't make it do some things 2020-03-22T17:02:26Z v_m_v joined #scheme 2020-03-22T17:08:28Z luni quit (Ping timeout: 256 seconds) 2020-03-22T17:28:40Z v_m_v quit (Remote host closed the connection) 2020-03-22T17:30:35Z TCZ quit (Quit: Leaving) 2020-03-22T17:30:52Z v_m_v joined #scheme 2020-03-22T17:33:07Z v_m_v quit (Remote host closed the connection) 2020-03-22T17:43:55Z v_m_v joined #scheme 2020-03-22T17:46:04Z v_m_v quit (Remote host closed the connection) 2020-03-22T17:53:10Z stux16777216Away joined #scheme 2020-03-22T17:55:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-22T17:57:15Z jao joined #scheme 2020-03-22T17:59:21Z jcowan: I've been looking at the Microscheme source. 2020-03-22T17:59:32Z jcowan: It's kind of cool how it has definitions like (define (eq? x y) (eq? x y)) 2020-03-22T18:02:07Z gwatt: That's kind of how Chez exposes its primitives. 2020-03-22T18:05:00Z zig: how is that cool? 2020-03-22T18:05:31Z zig: seems like the example definition of eq? is recursive. 2020-03-22T18:06:15Z bars0 joined #scheme 2020-03-22T18:19:43Z zig quit (Quit: WeeChat 1.9.1) 2020-03-22T18:20:03Z zig joined #scheme 2020-03-22T18:28:06Z jcowan: zig: Since eq? is inlined by the compiler, without this definition you couldn't pass eq? as an argument to map, or whatever. 2020-03-22T18:28:46Z jcowan: This says: Eq? is a procedure of 2 arguments whose body is [inlined assembler here]" 2020-03-22T18:29:04Z jcowan: The same is done for all inlined primitives 2020-03-22T18:29:06Z Riastradh: It's a kind of silly hack that really indicates the compiler doesn't have a reasonable story for scoping primitives. 2020-03-22T18:29:27Z jcowan: Riastradh: What would you do instead? 2020-03-22T18:30:00Z Riastradh: (define-primitive (eq? x y)) or put it in the module system 2020-03-22T18:31:45Z jcowan: I think it's more elegant this way: no need for yet another primitive syntax. 2020-03-22T18:32:17Z Riastradh: So what happens if you do 2020-03-22T18:32:22Z Riastradh: (define (foo x y) (eq? x y)) 2020-03-22T18:32:26Z Riastradh: (define (eq? x y) (= x y)) 2020-03-22T18:35:22Z jcowan: Direct calls to eq? will be inlined as before, but indirect calls via apply or what not will do = instead. Foo calls will never be inlined but will do eq?. 2020-03-22T18:35:29Z jcowan: In short, don't do that. 2020-03-22T18:35:33Z skapata joined #scheme 2020-03-22T18:35:57Z Riastradh: That's silly. What do you do if the compiler author adds a new inlined primitive that happens to coincide with a name you're already using in your program? 2020-03-22T18:36:44Z jcowan: I would hope you'd get a redefinition warning, though of course nothing about warnings is guaranteed. 2020-03-22T18:36:59Z Riastradh: It would be perfectly reasonable to have a module that exports all the inlined primitives. But playing games with (define (foo x) (foo x)) has no value. 2020-03-22T18:37:21Z jcowan: In any case, unless the module you are importing is extended (which is always a bad idea for a published module for just this reason), it wouldn't be visible. 2020-03-22T18:37:48Z Riastradh: In Scheme48, there's a module `primitives' that does just that. 2020-03-22T18:37:54Z Riastradh: No need to write out 2020-03-22T18:37:57Z Riastradh: (define (car x) (car x)) 2020-03-22T18:37:59Z Riastradh: (define (cdr x) (cdr x)) 2020-03-22T18:38:04Z Riastradh: (define (eq? x y) (eq? x y)) 2020-03-22T18:38:05Z Riastradh: ... 2020-03-22T18:38:37Z Riastradh: The compiler already has the primitives and their parameter lists written down; it's silly to copy all that out by hand. 2020-03-22T18:42:26Z jcowan: I'm reasonably sure the file was autogenerated, maybe with Elisp 2020-03-22T18:43:21Z Riastradh: OK, but why is it stored anywhere at all? 2020-03-22T18:47:18Z jcowan: Because doing so Just Works. "Dumb code, smart data" 2020-03-22T18:47:55Z xi quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-22T18:48:32Z Riastradh: But it's not smart data! It's trivially autogenerated. 2020-03-22T18:48:48Z xi joined #scheme 2020-03-22T18:48:56Z Riastradh: Instead of using an elisp script to write it to a file, you could add a few extra lines to the compiler to autogenerate it in memory. 2020-03-22T18:50:15Z jcowan: "The simplest, easiest to maintain, and most secure parts of a program are those that do not exist." 2020-03-22T18:50:26Z Riastradh: But either 2020-03-22T18:50:49Z Riastradh: (a) the file is written by hand, and is a possible source of errors on its own (not to mention the namespace clashes because this is foolishly unscoped), or 2020-03-22T18:51:22Z Riastradh: (b) that part of the program _is_ there -- it's just inexplicably written in elisp and has the output cached in the source tree or something instead of being a smaller part of the compiler with no need for a cache. 2020-03-22T18:52:15Z jcowan: Your arguments are reasonable but not compelling enough (assuming I were the code steward) to accept your patch to do so. 2020-03-22T18:52:26Z jcowan: There is in fact no code in elisp in the repo. 2020-03-22T18:52:40Z Riastradh: So it's a secret tool and the file requires manual maintenance? 2020-03-22T18:53:05Z badkins quit (Remote host closed the connection) 2020-03-22T18:55:14Z badkins joined #scheme 2020-03-22T18:56:34Z jcowan: I suppose. I personally would do semi-manual setup: take the source code that lists them all and mung it into the right form in vi. 2020-03-22T18:58:31Z jcowan: The last thing that was added is when, which is hard-coded like all syntax. Alas, the documentation doesn't actually explain what many of the primitives do. 2020-03-22T19:02:25Z daviid quit (Ping timeout: 250 seconds) 2020-03-22T19:06:18Z stux|work quit (Remote host closed the connection) 2020-03-22T19:10:46Z v_m_v joined #scheme 2020-03-22T19:14:54Z stepnem quit (Ping timeout: 240 seconds) 2020-03-22T19:15:54Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-22T19:16:14Z stepnem joined #scheme 2020-03-22T19:17:50Z badkins quit (Remote host closed the connection) 2020-03-22T19:21:41Z duncanm: Hey Riastradh 2020-03-22T19:22:05Z Riastradh: Hi duncanm! 2020-03-22T19:25:38Z duncanm: I see that you’ve been working in MIT Scheme, have you done anything with s48 recently? 2020-03-22T19:26:19Z Riastradh: Not in a while, no. 2020-03-22T19:29:18Z Khisanth joined #scheme 2020-03-22T19:33:19Z stux|work joined #scheme 2020-03-22T19:36:16Z oni-on-ion quit (Ping timeout: 250 seconds) 2020-03-22T19:39:18Z luni joined #scheme 2020-03-22T19:42:20Z gravicappa quit (Ping timeout: 250 seconds) 2020-03-22T19:53:06Z badkins joined #scheme 2020-03-22T20:03:31Z ggole quit (Ping timeout: 246 seconds) 2020-03-22T20:07:31Z ecraven: Riastradh: a MIT/GNU Scheme question: do you happen to remember how to read which actual port a channel is bound to when using (define it (open-tcp-server-socket 0 (host-address-loopback)))? 2020-03-22T20:07:49Z ecraven: passing 0 as the service binds to a free port, but how do I then *get* that port number from the socket? 2020-03-22T20:07:59Z ecraven: nothing obvious shows up in apropos / auto-completion 2020-03-22T20:08:34Z v_m_v quit (Remote host closed the connection) 2020-03-22T20:10:33Z Riastradh: ecraven: Not sure if there is a way! 2020-03-22T20:12:12Z ecraven: hm.. that isn't ideal :-/ that means passing in 0 is not very useful 2020-03-22T20:12:36Z ecraven: (use case is slime, I want to open *some* port, then write it to slime's tmpfile, slime reads that port and connects) 2020-03-22T20:16:03Z Riastradh: Yes, it is obviously useful! That said, can you use a local socket instead? 2020-03-22T20:16:23Z ecraven: hm.. I never tried, no idea whether slime supports that.. 2020-03-22T20:16:33Z ecraven: thanks for checking! 2020-03-22T20:17:17Z TCZ joined #scheme 2020-03-22T20:18:00Z v_m_v joined #scheme 2020-03-22T20:24:49Z badkins quit (Remote host closed the connection) 2020-03-22T20:32:28Z hugh_marera quit (Read error: Connection reset by peer) 2020-03-22T20:44:21Z badkins joined #scheme 2020-03-22T20:54:21Z hugh_marera joined #scheme 2020-03-22T21:03:46Z seepel joined #scheme 2020-03-22T21:07:57Z v_m_v quit (Remote host closed the connection) 2020-03-22T21:17:41Z Azmy joined #scheme 2020-03-22T21:24:44Z torbo joined #scheme 2020-03-22T21:30:37Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-22T21:31:58Z luni quit (Remote host closed the connection) 2020-03-22T21:40:23Z rbarraud|2 joined #scheme 2020-03-22T21:42:18Z bars0 quit (Quit: leaving) 2020-03-22T21:43:47Z v_m_v joined #scheme 2020-03-22T21:48:28Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-22T21:57:29Z hugh_marera quit (Read error: Connection reset by peer) 2020-03-22T22:00:36Z hugh_marera joined #scheme 2020-03-22T22:13:13Z terpri quit (Remote host closed the connection) 2020-03-22T22:13:40Z terpri joined #scheme 2020-03-22T22:27:10Z lockywolf_ joined #scheme 2020-03-22T22:29:34Z lockywolf__ quit (Ping timeout: 240 seconds) 2020-03-22T22:32:12Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-22T22:41:29Z [rg] joined #scheme 2020-03-22T22:41:37Z [rg]: is any scheme supported on windows? 2020-03-22T22:41:45Z [rg]: without the cygwin stuff 2020-03-22T22:42:06Z Riastradh: In theory MIT Scheme might run on Windows (but I have no experience with that). 2020-03-22T22:43:36Z [rg]: ok 2020-03-22T22:43:49Z [rg]: do you know why they say javascript is like scheme? 2020-03-22T22:43:55Z gwatt: Chez Scheme runs on windows without cygwin 2020-03-22T22:43:59Z fizzie: Racket does Windows, I'm pretty sure. 2020-03-22T22:44:02Z gwatt: Racket as well 2020-03-22T22:44:04Z aeth: [rg]: it increases the prestige of the language to make that claim 2020-03-22T22:44:51Z aeth: People get the impression that Scheme is some kind of mathematically pure language, and they don't want to be programming in something that's "just" a scripting language. 2020-03-22T22:44:51Z [rg]: heh :-) 2020-03-22T22:44:57Z jcowan: Many Schemes do. Preparing a list... 2020-03-22T22:45:08Z aeth: preparing a vector would be more cache-efficient ;-) 2020-03-22T22:45:10Z [rg]: thanks jcowan 2020-03-22T22:45:36Z gwatt: aeth: but less lispy 2020-03-22T22:45:49Z [rg]: I've been at odds with bsd sockets and after reading some stuff with nodejs it's a lot smother, but I want to do stuff in scheme 2020-03-22T22:46:18Z [rg]: so I've been thinking of a scheme just for working with the bsd api 2020-03-22T22:46:30Z wasamasa: the BSD API and windows don't mix terribly well 2020-03-22T22:46:45Z wasamasa: CHICKEN did emulate it, but there's some inherent differences 2020-03-22T22:46:51Z [rg]: well, they have some of it 2020-03-22T22:47:23Z jcowan: Chibi, Foment, SCM, Chez, Chicken, Racket, Gambit, Guile for sure. 2020-03-22T22:47:32Z jcowan: Also IronScheme (CLR) and the various JVM Schemes. 2020-03-22T22:48:05Z Oxyd: Huh? Chibi requires Cygwin, does it not? 2020-03-22T22:49:05Z jcowan: Yes, you're right. I know that Chicken treats BSD as a supported platform. 2020-03-22T22:49:30Z jcowan: (oh, sorry, you are talking about BSD sockets, not BSD) 2020-03-22T22:49:53Z [rg]: how do I scheme, it seems pretty straightforward, but there's a bunch of hidden details on what is in the standard or not, do I just ignore it and go for highlevel contructs whenever? 2020-03-22T22:50:46Z hugh_marera quit (Quit: hugh_marera) 2020-03-22T22:51:07Z [rg]: racket has each library as a language which is pretty odd 2020-03-22T22:51:10Z aeth: gwatt: (define (print-all l) (if (null? l) (newline) (begin (display (car l)) (display " ") (print-all (cdr l))))) 2020-03-22T22:51:13Z aeth: gwatt: (define (vector-print-all v) (define (vector-print-all* v i) (if (= i (vector-length v)) (newline) (begin (display (vector-ref v i)) (display " ") (vector-print-all* v (+ 1 i))))) (vector-print-all* v 0)) 2020-03-22T22:51:17Z aeth: Only marginally less Lispy 2020-03-22T22:51:23Z aeth: or, schemey or whatever 2020-03-22T22:51:39Z aeth: Mainly because now you need another variable, which requires a helper procedure 2020-03-22T22:52:34Z jcowan: Racket supports multiple languages, most of which are Lispy but a few are not. 2020-03-22T22:55:25Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-22T22:55:26Z [rg]: gambit requires mingw 2020-03-22T22:55:30Z [rg]: I'll try racket 2020-03-22T23:00:55Z wasamasa: CHICKEN works on windows with either cygwin or mingw-msys 2020-03-22T23:01:13Z wasamasa: you're bound to run into bugs with eggs though since hardly anyone uses it on windows 2020-03-22T23:01:18Z jcowan: Or plain mingw if you want. 2020-03-22T23:01:27Z wasamasa: such is life 2020-03-22T23:01:31Z jcowan: But mingw is just gcc for Windows; it has no additional Cygwin-like overhead 2020-03-22T23:02:12Z [rg]: eh I was more looking to see if anyone was gonna develop for windows without that 2020-03-22T23:02:19Z [rg]: guess that's asking to much eh 2020-03-22T23:02:48Z jcowan: Nobody's going to develop cross-platform software on Visual C. 2020-03-22T23:02:48Z wasamasa: windows is hostile towards anything but the official toolchains, lol 2020-03-22T23:02:53Z wasamasa: what did you expect 2020-03-22T23:03:11Z jcowan: Visual C isn't even very official more, it's C89 with the odd extension 2020-03-22T23:03:27Z wasamasa: apple stuff isn't roses either 2020-03-22T23:03:30Z jcowan: Otherwise it is about VC++. There are Schemes written in C++, but it's rare 2020-03-22T23:03:39Z [rg]: I thought windows supported clang now? 2020-03-22T23:04:13Z wasamasa: you're still using windows APIs 2020-03-22T23:04:33Z [rg]: right 2020-03-22T23:04:49Z [rg]: golang is pretty impressive 2020-03-22T23:05:03Z [rg]: not sure how they figured this out 2020-03-22T23:05:08Z torbo quit (Ping timeout: 250 seconds) 2020-03-22T23:05:14Z wasamasa: they went full NIH on C toolchains 2020-03-22T23:05:34Z [rg]: whats NIH? 2020-03-22T23:05:41Z jcowan: Not Invented Here 2020-03-22T23:05:47Z [rg]: wow 2020-03-22T23:06:14Z [rg]: windows is weird 2020-03-22T23:06:18Z jcowan: There is also WSL, which for CLI or server is fine. 2020-03-22T23:06:21Z wasamasa: you can totally do that, but don't expect it to be easy 2020-03-22T23:06:23Z v_m_v joined #scheme 2020-03-22T23:06:30Z [rg]: so odd why you wouldnt support a C compiler 2020-03-22T23:06:51Z jcowan: Embrace extend and extinguish 2020-03-22T23:06:55Z aeth: The problem with C and C++ is that Windows supports them, so it's supported in this weird, platform-specific way. If there was an official Microsoft Scheme for Windows, it would be the same way. 2020-03-22T23:07:07Z [rg]: and they have a big plt research department lol 2020-03-22T23:07:22Z wasamasa: F# came of that 2020-03-22T23:07:36Z wasamasa: and that funny functional query language for excel 2020-03-22T23:07:54Z gwatt: and LINQ 2020-03-22T23:07:59Z aeth: And most OSes are written in C or C++ or both so you wind up with a situation where you have not just cross-OS but also cross-implementation issues when dealing with these OSes. e.g. Linux prefers GCC, macOS prefers clang, Windows prefers its MS stuff 2020-03-22T23:08:21Z zaifir: It seems like MS embraced C++ ferociously. 2020-03-22T23:08:23Z rgherdt quit (Ping timeout: 246 seconds) 2020-03-22T23:08:32Z wasamasa: here's another C++ scheme: https://github.com/leftmike/foment 2020-03-22T23:08:42Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-22T23:08:46Z aeth: a C++ Scheme is going to have the same issues 2020-03-22T23:08:52Z aeth: A Java Scheme probably won't, e.g. Kawa 2020-03-22T23:09:46Z [rg]: so I guess the only real hope is to target CIL 2020-03-22T23:09:57Z [rg]: if you are a language developer 2020-03-22T23:10:04Z zaifir: [rg]: CIL? 2020-03-22T23:10:10Z [rg]: CLI my bad 2020-03-22T23:10:34Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-22T23:10:53Z wasamasa: what does that have to do with it? 2020-03-22T23:10:54Z aeth: The problem with intermediate languages is that they have a preferred language in mind and when your language is semantically different, it's hard to support it. C++ for LLVM IR, C# for CIL, Java for JVM. It's easier to write a new language for that platform than to implement a fully conforming and performant outside language on that platform. 2020-03-22T23:11:08Z zaifir: [rg]: I don't you mean by "target CLI", unless we're talking about a language with an alternate graphical representation. 2020-03-22T23:11:11Z aeth: If you just target ASM, you get everything you need, assuming your language was written with that in mind 2020-03-22T23:11:26Z gwatt: [rg]: Do you mean CLR? 2020-03-22T23:11:31Z aeth: Lots of IRs don't let you do things that are trivial in ASM, e.g. performant multiple return values (since C doesn't have those) 2020-03-22T23:11:35Z wasamasa: ironscheme is a thing 2020-03-22T23:11:37Z [rg]: gwatt yes 2020-03-22T23:11:59Z zaifir: Ah. 2020-03-22T23:12:33Z torbo joined #scheme 2020-03-22T23:13:06Z [rg]: I guess most schemes already have socket libraries? 2020-03-22T23:13:20Z zaifir: In general, Windows and OS X are really unfriendly to programmers. I hope people use better things. 2020-03-22T23:13:22Z wasamasa: that's a funny thing to say for a language with hundreds of implementations 2020-03-22T23:13:46Z daviid joined #scheme 2020-03-22T23:13:53Z zaifir: [rg]: Many Schemes do, yes. 2020-03-22T23:14:00Z aeth: zaifir: OS X is actually pretty friendly to programmers because it's just a UNIX... except for the graphics stack, which is absolutely awful ever since they decided to neglect OpenGL for its proprietary Metal that no one cares about outside of mobile due to the market share issue. 2020-03-22T23:14:26Z aeth: too bad things are increasingly graphically accelerated... 2020-03-22T23:15:19Z [rg]: zaifir, yeah it really does seem that way 2020-03-22T23:15:24Z aeth: [rg]: There are Schemes people use and a long tail of Schemes "no one" uses. The Schemes people use tend to have lots of libraries. 2020-03-22T23:15:48Z aeth: Unfortunately, there isn't really a portable Scheme... any non-trivial library is probably going to be implementation-specific. 2020-03-22T23:15:54Z zaifir: aeth: For some value of "lots". Chez, e.g., is pretty limited, atm. 2020-03-22T23:16:04Z wasamasa: for kawa for instance you'd have to write your own thing using java stuff 2020-03-22T23:16:17Z aeth: zaifir: "no one" used Chez in the FOSS community when it was a commercial implementation 2020-03-22T23:16:29Z jcowan: There is no comparison between OS X and Windows. The latter is SO much worse. "Programming in Windows is like moving dead whales along the beach by kicking them." 2020-03-22T23:17:09Z aeth: Microsoft doesn't break backwards compatibility. This is a good thing if your application has already been written. This is a bad thing if you're writing a new application and have to put up with nonsense that other platforms would have fixed by now. 2020-03-22T23:18:06Z [rg]: someone had shown their Theme-D scheme for gnome graphics earlier, I'd really like to do something like that for the bsd api 2020-03-22T23:18:07Z edgar-rft: Microsoft doesn't break backwards compatibility. If it didn't work on MS-DSOS 1.0 then it won't work on Windows 10. 2020-03-22T23:18:16Z jcowan chuckles 2020-03-22T23:18:20Z wasamasa: it's kind of funny how it has ready-made wrappers for servlets and cgi, but no sockets 2020-03-22T23:18:27Z [rg]: so the next question is which one do you enjoy networking programming one 2020-03-22T23:18:31Z [rg]: s/one/on 2020-03-22T23:18:38Z zaifir: Microsoft doesn't break backwards compatibility. They'll have to pry UTF-16 from Bill's cold fingers. 2020-03-22T23:18:38Z jcowan: Actually that "whales" remark was originally made about OS/360 2020-03-22T23:18:39Z wasamasa: I've had great success with CHICKEN 2020-03-22T23:18:57Z wasamasa: it's no fun on windows though 2020-03-22T23:19:14Z [rg]: it's ok, I won't be on windows shortly 2020-03-22T23:19:15Z wasamasa: I occasionally test windows things with mingw-msys2 2020-03-22T23:19:18Z jcowan: Although in fact 16-bit DOS and Windows programs don't work on Win64 without an emulator. 2020-03-22T23:19:40Z [rg]: which they don't provide oddly 2020-03-22T23:20:09Z aeth: Perhaps it's best to say that Microsoft has broken backwards compatibility at the bit changes, 16 to 32 to 64. 2020-03-22T23:20:26Z aeth: Let's introduce 128 bit CPUs 2020-03-22T23:20:50Z wasamasa: racket has basic socket support 2020-03-22T23:20:51Z jcowan: 16-bit code ran fine on Win32; I ran quite a lot of it, now running in DOSBox. 2020-03-22T23:21:22Z aeth: because Microsoft had competition when it came up with Win32... 2020-03-22T23:21:23Z jcowan: Not really MS's fault: the 64-bit chips simply don't have a 16-bit mode. 2020-03-22T23:21:28Z jcowan: Not much! 2020-03-22T23:21:31Z zaifir: It's tough to suggest a Scheme to someone interested in learning who's stuck with Windows. 2020-03-22T23:21:53Z jcowan: Well, learning what. You can learn Scheme fine with Racket. 2020-03-22T23:21:58Z aeth: Windows is not a good platform for niche languages unless those niche languages are .NET languages. 2020-03-22T23:22:05Z wasamasa: gauche is what I'd probably have picked if it weren't for CHICKEN 2020-03-22T23:22:10Z zaifir: jcowan: Right, Racket is an option. 2020-03-22T23:22:46Z aeth: Windows support is generally the last step that language implementors sometimes get around to doing. 2020-03-22T23:22:51Z jcowan: IronScheme is CLR 2020-03-22T23:23:33Z zaifir: The Scheme wikibook suggests trying to run MIT Scheme for Windows users, and scm for everyone else. I'd kind of like to know who wrote that... 2020-03-22T23:23:56Z Riastradh: zaifir: Doesn't it have git blame or equivalent? 2020-03-22T23:24:35Z aeth: MediaWiki is where I learned about version control, years before I started programming 2020-03-22T23:24:44Z aeth: You're even supposed to have meaningful commit messages! 2020-03-22T23:24:56Z aeth: And of course you can diff 2020-03-22T23:25:21Z zaifir: Riastradh: That particular advice dates from 2009-01, according to the page history. 2020-03-22T23:25:47Z zaifir: aeth: Ditto. 2020-03-22T23:25:58Z wasamasa: I suspect ironscheme requires interop to do sockets 2020-03-22T23:26:04Z wasamasa: can't say it has good docs 2020-03-22T23:26:45Z aeth: If it had good docs, would it be a Lisp? 2020-03-22T23:27:21Z wasamasa: well, it certainly increases the tinkering factor to have to figure it all out yourself 2020-03-22T23:27:30Z [rg]: I wonder if programmer hostility has an effect on the rise of web apps 2020-03-22T23:27:31Z wasamasa: I've occasionally seen leppie around, so I'm sure they can enlighten us 2020-03-22T23:27:57Z [rg]: scheme doesn't haven an object system right 2020-03-22T23:28:03Z aeth: [rg]: Web apps are basically just routing around Microsoft's monopoly using something everyone has installed (a web browser) rather than trying to get people to install something like the JVM. 2020-03-22T23:28:09Z wasamasa: [rg]: have you even looked at a standard? 2020-03-22T23:28:18Z aeth: [rg]: Scheme doesn't have an object system, it has dozens! 2020-03-22T23:28:21Z wasamasa: [rg]: it covers just enough to implement basic interpreters and compilers 2020-03-22T23:28:52Z zaifir: wasamasa: Which standard are you talking about 2020-03-22T23:28:52Z [rg]: wasamasa, I have briefly 2020-03-22T23:29:07Z [rg]: it's kinda cool how stuff is defined with lamda calculus 2020-03-22T23:29:19Z wasamasa: I'm thinking of r7rs-small which was just enough to implement MAL in it 2020-03-22T23:30:02Z zaifir: wasamasa: Right. With Red and Tangerine from r7rs-large you can do quite a bit more, of course. 2020-03-22T23:30:17Z wasamasa: r5rs didn't stop people either 2020-03-22T23:30:22Z [rg]: aeth, that makes sense, sadly 2020-03-22T23:31:46Z zaifir: Oh yeah, we now have the awesome Red Edition, PDF edition https://gitlab.com/vmanis/r7rs-large/-/blob/master/reports/red.pdf 2020-03-22T23:31:53Z [rg]: but is it too much work to make a new application architecture instead? 2020-03-22T23:31:58Z [rg] thinks 2020-03-22T23:32:20Z [rg]: be back in 15 2020-03-22T23:32:27Z [rg] quit (Remote host closed the connection) 2020-03-22T23:32:47Z jcowan: Why would Iron need sockets? CLR has socket support comparable to Java 2020-03-22T23:33:17Z wasamasa: sure, so instead of using the built-in wrappers for that you have to figure out how to do them yourself 2020-03-22T23:38:13Z TCZ quit (Quit: Leaving) 2020-03-22T23:39:19Z v_m_v joined #scheme 2020-03-22T23:41:06Z lritter quit (Quit: Leaving) 2020-03-22T23:43:14Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-22T23:47:26Z badkins quit (Remote host closed the connection) 2020-03-22T23:48:02Z badkins joined #scheme 2020-03-22T23:52:34Z badkins quit (Ping timeout: 258 seconds) 2020-03-23T00:14:09Z badkins joined #scheme 2020-03-23T00:16:03Z badkins quit (Remote host closed the connection) 2020-03-23T00:16:45Z badkins joined #scheme 2020-03-23T00:17:59Z brendyyn joined #scheme 2020-03-23T00:21:21Z badkins quit (Ping timeout: 250 seconds) 2020-03-23T00:27:38Z TCZ joined #scheme 2020-03-23T00:49:37Z malaclyps quit (Ping timeout: 268 seconds) 2020-03-23T00:54:29Z lockywolf joined #scheme 2020-03-23T00:57:24Z malaclyps joined #scheme 2020-03-23T01:07:50Z lockywolf_ joined #scheme 2020-03-23T01:09:54Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-23T01:13:11Z lockywolf__ joined #scheme 2020-03-23T01:15:34Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-23T01:21:46Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-23T01:56:54Z turtleman quit (Ping timeout: 240 seconds) 2020-03-23T01:58:08Z ngz quit (Ping timeout: 246 seconds) 2020-03-23T02:00:15Z lockywolf_ joined #scheme 2020-03-23T02:02:48Z lockywolf__ quit (Ping timeout: 250 seconds) 2020-03-23T02:09:06Z badkins joined #scheme 2020-03-23T02:10:36Z badkins quit (Remote host closed the connection) 2020-03-23T02:11:11Z badkins joined #scheme 2020-03-23T02:11:15Z lockywolf_ quit (Remote host closed the connection) 2020-03-23T02:11:44Z lockywolf_ joined #scheme 2020-03-23T02:15:49Z badkins quit (Ping timeout: 264 seconds) 2020-03-23T02:19:39Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-23T02:20:34Z lockywolf joined #scheme 2020-03-23T02:21:45Z lockywolf quit (Remote host closed the connection) 2020-03-23T02:22:11Z lockywolf joined #scheme 2020-03-23T02:41:01Z seepel quit (Ping timeout: 264 seconds) 2020-03-23T02:42:13Z [rg] joined #scheme 2020-03-23T02:42:56Z [rg]: ok so it wasn't quite 20 minutes 2020-03-23T02:46:41Z TCZ quit (Quit: Leaving) 2020-03-23T02:53:19Z skapata quit (Remote host closed the connection) 2020-03-23T02:54:21Z xelxebar quit (Remote host closed the connection) 2020-03-23T02:56:02Z xelxebar joined #scheme 2020-03-23T03:01:10Z zaifir: [rg]: Hah. 2020-03-23T03:01:26Z zaifir: [rg]: But you did return, so that's good. 2020-03-23T03:02:03Z [rg]: yeah I'm back but on linux this time 2020-03-23T03:02:55Z [rg]: I need you to clear up portability for me 2020-03-23T03:03:06Z [rg]: there is no portability accross schemes right 2020-03-23T03:04:14Z zaifir: [rg]: Clearly there's portability, otherwise we wouldn't be able to talk about 'Scheme' at all. 2020-03-23T03:05:29Z [rg]: ok, so basically I just have to conform to a scheme standard right? 2020-03-23T03:05:44Z [rg]: which seems difficult to program in 2020-03-23T03:05:46Z zaifir: [rg]: Most Schemes adhere to R5, R6, or R7RS, so you can write to what those reports provide. Beyond that, SRFIs are widely implemented, and it's wise to use them when possible. 2020-03-23T03:06:11Z [rg]: ok ok I think I'm starting to get the picture 2020-03-23T03:07:26Z zaifir: [rg]: And, in practice, many Schemes provide similar libraries for many things, e.g. POSIX stuff. 2020-03-23T03:07:40Z zaifir: So the portability situation is honestly not so bad. 2020-03-23T03:07:58Z jcowan: With good will and good management, the problems can be worked around. 2020-03-23T03:09:31Z zaifir: [rg]: It's worth getting to know https://srfi.schemers.org 2020-03-23T03:09:43Z terpri quit (Remote host closed the connection) 2020-03-23T03:10:46Z terpri joined #scheme 2020-03-23T03:14:14Z [rg]: thanks :-) 2020-03-23T03:14:25Z [rg]: what are you guys working on? 2020-03-23T03:14:31Z [rg]: compilers or theory :P 2020-03-23T03:18:11Z zaifir: [rg]: ATM I'm working on exercise from Origami Programming, which is a great read if you want to give your knowledges of folds and unfolds a workout. http://www.comlab.ox.ac.uk/people/jeremy.gibbons/publications/origami.pdf 2020-03-23T03:21:57Z siraben: github.com/siraben/fp-notes is a growing collection of notes on functional programming; papers, books and concepts. 2020-03-23T03:23:43Z [rg]: zaifir: I'll admit I'm itching to do something, but this is interesting 2020-03-23T03:24:00Z [rg]: siraben: like compiling functional languages? 2020-03-23T03:24:01Z zaifir: [rg]: Do something? 2020-03-23T03:24:41Z [rg]: yeah I want to write a program, but I usually just end up reading 2020-03-23T03:24:55Z siraben: [rg]: Haven't covered compiling yet, but there's a lot of literature on compiling functional languages of all kinds. 2020-03-23T03:25:23Z zaifir: [rg]: Write some programs, then. 2020-03-23T03:25:39Z siraben: From SICP's classic compiler, to Compiling with Continuations, to Ben Lynn's incredible series on writing a self-hosting Haskell compiler. 2020-03-23T03:25:41Z siraben: https://crypto.stanford.edu/~blynn/compiler/ 2020-03-23T03:25:42Z zaifir: [rg]: idk, write `grep' in Scheme. 2020-03-23T03:25:57Z siraben: [rg]: Write a Scheme interpreter in Scheme! 2020-03-23T03:26:04Z zaifir: Or that! 2020-03-23T03:26:26Z pilne: if you write grep, awk, and sed in scheme, you can start to give perl a run for it's money :P especially if you find a way to use sigils in scheme! 2020-03-23T03:26:29Z pilne: (i kid mostly) 2020-03-23T03:26:56Z pilne: although it could be a fun experiment (: 2020-03-23T03:27:11Z [rg]: that blynn guy takes good notes 2020-03-23T03:27:19Z [rg]: I throw my notes out after every class 2020-03-23T03:27:20Z siraben: Implementing microkanren was also a fun project http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf 2020-03-23T03:27:36Z siraben: it's only 40 lines of Scheme, but the implications are profound. 2020-03-23T03:27:46Z [rg]: zaifir: grep seems feasible 2020-03-23T03:27:55Z pilne: microkanren is smeggin mindbending 2020-03-23T03:28:03Z siraben: I wrote a program that generated simple English sentences using microkanren. 2020-03-23T03:28:09Z [rg]: is writing a scheme interpreter that short? 2020-03-23T03:28:13Z zaifir: [rg]: You don't need anyone's permission to start hacking Scheme, basically. Just write stuff and have fun. 2020-03-23T03:28:31Z pilne: scheme is a very little langauge at it's core in r5rs and r7rs-small. 2020-03-23T03:28:54Z siraben: [rg]: It is quite straightforward to write a Scheme interpreter in Scheme, if you need help, see https://youtu.be/0m6hoOelZH8 2020-03-23T03:29:30Z pilne: i think scheme's name is very apt, i'm always scheeming about "how far can i push coding" when i'm thinking in scheme. 2020-03-23T03:30:32Z zaifir: Aaaand the 5-line Scheme λ-calculus interpreter, William Byrd's "Maxwell's equations of programming": https://www.youtube.com/watch?v=OyfBQmvr2Hc 2020-03-23T03:30:35Z siraben: As usual, the venerable Oleg pushes Scheme to its limits; http://okmij.org/ftp/Scheme/ 2020-03-23T03:30:52Z siraben: zaifir: that's an amazing video, too. 2020-03-23T03:31:16Z zaifir: I know. :) It's also very funny. 2020-03-23T03:31:26Z [rg]: zaifir: I watched that one tbh I didn't really understand at the time :-) 2020-03-23T03:31:41Z [rg]: I'm gonna try to code, wish me luck! 2020-03-23T03:31:59Z pilne: it took me two watches to really grok that "most beautiful program ever written" 2020-03-23T03:32:34Z zaifir: pilne: It's totally worth it. 2020-03-23T03:33:22Z zaifir: I have chunks of that video running on repeat in my head. 2020-03-23T03:33:28Z zaifir: (define taro 'good) 2020-03-23T03:34:18Z pilne: definitely worth it 2020-03-23T03:34:34Z pilne: even if scheme is the last thing you *plan* on ever programming in. 2020-03-23T03:35:21Z zaifir: It's funny to see some of the YouTube comments, people are like "What is this new crazy-ass programming language??" 2020-03-23T03:35:26Z pilne: (*kanrens are what lead to my infatuation with prolog at the moment). 2020-03-23T03:35:36Z zaifir: Nice. 2020-03-23T03:36:04Z pilne: it is cute 2020-03-23T03:36:40Z zaifir: If you like the kanrens, Byrd's dissertation is a must-read https://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf 2020-03-23T03:36:49Z pilne: idk how so many don't "dig" into the past when they learn about languages 2020-03-23T03:37:34Z pilne: does he have an audible of him reading it? that would be so much easier to deal with, my attention span is not 300 pages capable right now lol. 2020-03-23T03:37:57Z zaifir: Hah, Scheme audiobooks. How do you read all those parens? 2020-03-23T03:39:06Z zaifir: As to *not* digging into the past... 2020-03-23T03:39:10Z pilne: >.< oof 2020-03-23T03:39:12Z zaifir: rudybot: gawds 2020-03-23T03:39:12Z rudybot: zaifir: "One touch of nature makes the whole world kin / That all with one consent praise new-born gawds / Though they are made and moulded of things past / And give to dust that is a little gilt / More laud than gilt o'er-dusted." 2020-03-23T03:39:12Z siraben: open paren define open paren square x close paren ... 2020-03-23T03:39:41Z siraben: rudybot: haskell vs. scheme 2020-03-23T03:39:42Z pilne: ok, so that's yet another pline-fail idea, s'ok, at 38 i've had tons of them :D 2020-03-23T03:39:42Z rudybot: siraben: m-x haskell-customize vs customize-group 2020-03-23T03:42:00Z zaifir: pilne: Anyway, there's a 35-line αKanren theorem prover in that paper that's a gem of nominal logic programming. 2020-03-23T03:42:37Z pilne: i will chew through it, might take a bit, but i will, byrd's work is fascinating and approachably presented i've found. 2020-03-23T03:44:11Z zaifir: siraben: Hey, at least Scheme is mostly English and thus mostly pronounceable. 2020-03-23T03:44:32Z pilne: imagine someone reading out code in brainf*ck :D 2020-03-23T03:45:04Z pilne: brb-ish 2020-03-23T03:47:15Z siraben: zaifir: Valid point. 2020-03-23T03:53:24Z torbo quit (Ping timeout: 256 seconds) 2020-03-23T04:02:43Z cartwright quit (Remote host closed the connection) 2020-03-23T04:08:03Z cartwright joined #scheme 2020-03-23T04:10:14Z m1dnight quit (Ping timeout: 240 seconds) 2020-03-23T04:12:37Z badkins joined #scheme 2020-03-23T04:12:38Z m1dnight joined #scheme 2020-03-23T04:17:08Z badkins quit (Ping timeout: 250 seconds) 2020-03-23T04:32:13Z seepel joined #scheme 2020-03-23T04:38:32Z klovett quit (Remote host closed the connection) 2020-03-23T04:38:52Z klovett joined #scheme 2020-03-23T04:55:03Z pilne quit (Quit: Light travels faster then sound, which is why some people appear bright, until you hear them speak) 2020-03-23T05:01:31Z seepel quit (Remote host closed the connection) 2020-03-23T05:01:51Z seepel joined #scheme 2020-03-23T05:02:03Z gravicappa joined #scheme 2020-03-23T05:08:44Z seepel quit (Remote host closed the connection) 2020-03-23T05:09:09Z seepel joined #scheme 2020-03-23T05:22:15Z [rg] quit (Quit: Konversation terminated!) 2020-03-23T05:23:44Z retropikzel joined #scheme 2020-03-23T05:40:25Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-23T05:41:36Z lockywolf joined #scheme 2020-03-23T06:00:13Z seepel quit (Ping timeout: 264 seconds) 2020-03-23T06:04:23Z seepel joined #scheme 2020-03-23T06:11:06Z jao quit (Ping timeout: 250 seconds) 2020-03-23T06:14:34Z pjb` joined #scheme 2020-03-23T06:15:44Z pjb quit (Ping timeout: 246 seconds) 2020-03-23T07:21:32Z rgherdt joined #scheme 2020-03-23T07:32:35Z luni joined #scheme 2020-03-23T08:01:36Z brendyyn quit (Ping timeout: 256 seconds) 2020-03-23T08:03:26Z seepel quit (Remote host closed the connection) 2020-03-23T08:03:49Z seepel joined #scheme 2020-03-23T08:09:35Z whiteline_ joined #scheme 2020-03-23T08:10:42Z whiteline quit (Read error: Connection reset by peer) 2020-03-23T08:14:07Z jobol joined #scheme 2020-03-23T08:14:26Z badkins joined #scheme 2020-03-23T08:15:34Z civodul joined #scheme 2020-03-23T08:17:49Z stux|work quit (Quit: Aloha!) 2020-03-23T08:18:34Z badkins quit (Ping timeout: 240 seconds) 2020-03-23T08:19:55Z stux|work joined #scheme 2020-03-23T08:22:54Z tdammers: this is actually a real problem in Haskell, where inventing your own operators is considered idiomatic 2020-03-23T08:23:08Z tdammers: people are still debating how to pronounce things like .: or >=> 2020-03-23T09:10:30Z stepnem quit (Ping timeout: 250 seconds) 2020-03-23T09:12:22Z stepnem joined #scheme 2020-03-23T09:17:37Z seepel quit (Ping timeout: 264 seconds) 2020-03-23T09:46:54Z v_m_v joined #scheme 2020-03-23T09:49:51Z lockywolf quit (Read error: Connection reset by peer) 2020-03-23T09:56:42Z aeth: this is also a problem in mathematics, but the custom operators look cooler 2020-03-23T09:57:26Z aeth: There are usually about 3-4 ways to say something, and you usually pick the shortest. Annoyingly, sometimes the order is backwards. "x => y" is "x implies y" (that's the most common), "if x then y", "y if x", etc. 2020-03-23T10:07:43Z aeth: I guess it's no surprise that if you see => and come up with >=> you'll get the same problem of 4 names 2020-03-23T10:09:58Z luni: Hi everybody. I have a question related to the use of big size vectors. Now when i try to create a vector whose size is bigger than the heap size i see a message saying that there is not the requested amount of heap space to allocate. Is there a proper way to do it it without increasing the heap size directly? Thank you in advance 2020-03-23T10:13:27Z pjb` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-23T10:14:04Z pjb joined #scheme 2020-03-23T10:15:25Z badkins joined #scheme 2020-03-23T10:15:56Z wasamasa: you do realize a vector is a huge chunk of contiguous memory? 2020-03-23T10:16:06Z luni: yes for now 2020-03-23T10:16:16Z wasamasa: if there's not enough contiguous memory, you cannot allocate it 2020-03-23T10:16:20Z luni: but i was thinking to split it 2020-03-23T10:16:35Z luni: in more than one piece 2020-03-23T10:16:55Z luni: ok, thank you 2020-03-23T10:17:03Z wasamasa: if you split it after each element, you get a linked list :> 2020-03-23T10:17:32Z luni: not after each element, say after #e1e7 elements 2020-03-23T10:19:17Z wasamasa: well, look at a data structures book 2020-03-23T10:19:47Z luni: look for what? 2020-03-23T10:20:00Z wasamasa: something like piece tables 2020-03-23T10:20:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-23T10:20:13Z wasamasa: text editors do all kinds of fractured data structures 2020-03-23T10:20:24Z wasamasa: like an array of arrays, with each item representing a line 2020-03-23T10:20:38Z luni: ok... thank you a lot wasamasa 2020-03-23T10:22:41Z wasamasa: you're doing matrix stuff, no? 2020-03-23T10:23:22Z luni: yes... so i represent arrays of n dimensions linearly but i need to increase the upper limit 2020-03-23T10:23:53Z wasamasa: https://en.wikipedia.org/wiki/Sparse_matrix 2020-03-23T10:25:19Z luni: for now i'm using dense matrices so that approach is not useful in my case 2020-03-23T10:26:30Z wasamasa: https://en.wikipedia.org/wiki/Unrolled_linked_list 2020-03-23T10:27:44Z luni: yes i will think to do something similar to the last one using a vector of vectors 2020-03-23T10:28:09Z ayerhart_ joined #scheme 2020-03-23T10:28:40Z luni: let me think about... i have to figure out what do do... data structure is not difficult but the indexing maybe a little bit 2020-03-23T10:29:05Z wasamasa: https://en.wikipedia.org/wiki/Iliffe_vector 2020-03-23T10:29:07Z wasamasa: > The Iliffe vector for a 2-dimensional array is simply a vector of pointers to vectors of data, i.e., the Iliffe vector represents the columns of an array where each column element is a pointer to a row vector. 2020-03-23T10:31:14Z ayerhart quit (Ping timeout: 240 seconds) 2020-03-23T10:31:24Z klovett quit (Remote host closed the connection) 2020-03-23T10:31:40Z luni: yes that maybe is what i was searching for. Thank you again 2020-03-23T10:31:59Z klovett joined #scheme 2020-03-23T10:39:50Z luni quit (Remote host closed the connection) 2020-03-23T10:45:39Z mdhughes: You could also just use a memory mapped buffer into a larger file. Scheme doesn't by default have any way to do that, like NSData: https://developer.apple.com/documentation/foundation/nsdata?language=objc 2020-03-23T11:03:56Z noblerot joined #scheme 2020-03-23T11:13:06Z brendyyn joined #scheme 2020-03-23T11:35:10Z hugh_marera joined #scheme 2020-03-23T11:38:14Z zig quit (Ping timeout: 240 seconds) 2020-03-23T11:39:57Z xi quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-23T11:40:21Z hugh_marera quit (Ping timeout: 256 seconds) 2020-03-23T11:40:55Z zig joined #scheme 2020-03-23T11:41:37Z xi joined #scheme 2020-03-23T11:42:55Z lockywolf joined #scheme 2020-03-23T11:47:44Z noblerot quit (Quit: leaving) 2020-03-23T11:48:33Z v_m_v quit (Remote host closed the connection) 2020-03-23T11:55:19Z tdammers: aeth: fortunately, the Haskell operators at least have rigidly defined, unambiguous semantics 2020-03-23T11:57:16Z v_m_v joined #scheme 2020-03-23T12:06:15Z epony quit (Quit: reconf) 2020-03-23T12:16:19Z badkins joined #scheme 2020-03-23T12:20:44Z badkins quit (Ping timeout: 250 seconds) 2020-03-23T12:32:58Z v_m_v quit (Remote host closed the connection) 2020-03-23T12:46:20Z xkapastel joined #scheme 2020-03-23T12:56:03Z stultulo joined #scheme 2020-03-23T12:57:08Z f8l quit (Ping timeout: 250 seconds) 2020-03-23T12:57:10Z stultulo is now known as f8l 2020-03-23T12:57:56Z lritter joined #scheme 2020-03-23T12:58:30Z klovett quit (Remote host closed the connection) 2020-03-23T12:58:49Z klovett joined #scheme 2020-03-23T13:01:45Z SGASAU joined #scheme 2020-03-23T13:05:10Z v_m_v joined #scheme 2020-03-23T13:15:48Z v_m_v quit (Remote host closed the connection) 2020-03-23T13:16:02Z v_m_v joined #scheme 2020-03-23T13:31:04Z SGASAU quit (Remote host closed the connection) 2020-03-23T13:31:27Z SGASAU joined #scheme 2020-03-23T13:35:16Z webshinra_ joined #scheme 2020-03-23T13:37:52Z webshinra quit (Ping timeout: 250 seconds) 2020-03-23T13:47:28Z civodul quit (Remote host closed the connection) 2020-03-23T13:47:49Z civodul joined #scheme 2020-03-23T13:49:20Z v_m_v quit (Remote host closed the connection) 2020-03-23T13:54:40Z ggole joined #scheme 2020-03-23T13:56:44Z civodul quit (Remote host closed the connection) 2020-03-23T14:01:16Z civodul joined #scheme 2020-03-23T14:07:22Z drakonis joined #scheme 2020-03-23T14:10:28Z v_m_v joined #scheme 2020-03-23T14:17:07Z badkins joined #scheme 2020-03-23T14:20:28Z SGASAU quit (Remote host closed the connection) 2020-03-23T14:20:39Z jao joined #scheme 2020-03-23T14:20:51Z SGASAU joined #scheme 2020-03-23T14:21:11Z badkins quit (Remote host closed the connection) 2020-03-23T14:21:19Z badkins joined #scheme 2020-03-23T14:22:24Z [rg] joined #scheme 2020-03-23T14:25:23Z SGASAU quit (Remote host closed the connection) 2020-03-23T14:25:37Z SGASAU joined #scheme 2020-03-23T14:44:47Z klovett quit (Ping timeout: 260 seconds) 2020-03-23T14:45:13Z [rg] quit (Ping timeout: 264 seconds) 2020-03-23T14:47:06Z klovett joined #scheme 2020-03-23T14:50:37Z daviid quit (Ping timeout: 250 seconds) 2020-03-23T14:53:30Z pilne joined #scheme 2020-03-23T14:56:27Z [rg] joined #scheme 2020-03-23T14:57:29Z hugh_marera joined #scheme 2020-03-23T15:02:42Z lucasb joined #scheme 2020-03-23T15:05:01Z lockywolf quit (Remote host closed the connection) 2020-03-23T15:05:21Z lockywolf joined #scheme 2020-03-23T15:06:55Z lockywolf quit (Remote host closed the connection) 2020-03-23T15:07:21Z lockywolf joined #scheme 2020-03-23T15:09:09Z [rg]: is define-record-type is an srfi? It is in tspl4 which is for chez scheme iirc https://www.scheme.com/tspl4/records.html#./records:h0 2020-03-23T15:12:35Z zaifir: [rg]: It's standard in R7RS. (Section 5.5) 2020-03-23T15:14:57Z gwatt: [rg]: tspl4 should apply to r6rs as a whole. The author just happens to also be the author of Chez Scheme. 2020-03-23T15:15:51Z badkins quit (Remote host closed the connection) 2020-03-23T15:16:02Z zaifir: [rg]: Many non-R7RS Schemes also provide define-record-type in their preludes. I don't think I've ever had to import SRFI 9 (the original define-record-type SRFI). 2020-03-23T15:16:11Z vyzo quit (Ping timeout: 250 seconds) 2020-03-23T15:16:21Z badkins joined #scheme 2020-03-23T15:19:29Z [rg]: ok, thanks guys 2020-03-23T15:21:23Z badkins quit (Ping timeout: 258 seconds) 2020-03-23T15:33:27Z webshinra_ is now known as webshinra 2020-03-23T15:34:37Z vyzo joined #scheme 2020-03-23T15:56:52Z v_m_v quit (Remote host closed the connection) 2020-03-23T15:57:18Z v_m_v joined #scheme 2020-03-23T15:58:39Z TCZ joined #scheme 2020-03-23T16:02:04Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-23T16:02:44Z skapata joined #scheme 2020-03-23T16:06:54Z brendyyn quit (Ping timeout: 240 seconds) 2020-03-23T16:08:05Z badkins joined #scheme 2020-03-23T16:18:51Z mdhughes: SRFI-99 is closer to R6RS records 2020-03-23T16:26:20Z v_m_v joined #scheme 2020-03-23T16:28:08Z jcowan: Note however that R6RS records have their own unique syntax for define-record-type, distinct from SRFI 9, R7RS, etc. 2020-03-23T16:46:30Z zmt00 quit (Read error: Connection reset by peer) 2020-03-23T16:46:57Z zmt00 joined #scheme 2020-03-23T17:00:37Z TCZ quit (Quit: Leaving) 2020-03-23T17:01:03Z aeth quit (Ping timeout: 250 seconds) 2020-03-23T17:01:58Z aeth joined #scheme 2020-03-23T17:02:00Z [rg] quit (Quit: Konversation terminated!) 2020-03-23T17:04:07Z v_m_v quit (Remote host closed the connection) 2020-03-23T17:04:33Z v_m_v joined #scheme 2020-03-23T17:08:50Z v_m_v quit (Ping timeout: 246 seconds) 2020-03-23T17:13:39Z luni joined #scheme 2020-03-23T17:17:55Z oni-on-ion joined #scheme 2020-03-23T17:18:19Z badkins quit (Remote host closed the connection) 2020-03-23T17:18:54Z badkins joined #scheme 2020-03-23T17:22:26Z v_m_v joined #scheme 2020-03-23T17:23:35Z badkins quit (Ping timeout: 250 seconds) 2020-03-23T17:26:10Z luni quit (Remote host closed the connection) 2020-03-23T17:29:33Z v_m_v quit (Remote host closed the connection) 2020-03-23T17:31:28Z badkins joined #scheme 2020-03-23T17:31:45Z v_m_v joined #scheme 2020-03-23T17:40:56Z hugh_marera quit (Quit: hugh_marera) 2020-03-23T17:41:14Z hugh_marera joined #scheme 2020-03-23T17:42:26Z v_m_v quit (Remote host closed the connection) 2020-03-23T17:42:34Z v_m_v joined #scheme 2020-03-23T17:56:48Z luni joined #scheme 2020-03-23T18:14:26Z retropikzel quit (Remote host closed the connection) 2020-03-23T18:16:27Z stepnem quit (Ping timeout: 250 seconds) 2020-03-23T18:16:55Z stepnem joined #scheme 2020-03-23T18:32:59Z stepnem_ joined #scheme 2020-03-23T18:33:49Z stepnem quit (Ping timeout: 264 seconds) 2020-03-23T18:34:03Z cartwright quit (Ping timeout: 240 seconds) 2020-03-23T18:35:27Z badkins quit (Remote host closed the connection) 2020-03-23T18:36:05Z badkins joined #scheme 2020-03-23T18:36:14Z cartwright joined #scheme 2020-03-23T18:41:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-23T19:01:54Z rgherdt quit (Ping timeout: 240 seconds) 2020-03-23T19:05:54Z stepnem_ quit (Ping timeout: 250 seconds) 2020-03-23T19:05:59Z stepnem joined #scheme 2020-03-23T19:08:03Z Azmee joined #scheme 2020-03-23T19:08:33Z Azmy quit (Remote host closed the connection) 2020-03-23T19:09:25Z badkins joined #scheme 2020-03-23T19:19:43Z rgherdt joined #scheme 2020-03-23T19:22:42Z oni-on-ion quit (Remote host closed the connection) 2020-03-23T19:23:02Z oni-on-ion joined #scheme 2020-03-23T19:29:20Z jobol quit (Quit: Leaving) 2020-03-23T19:39:50Z seepel joined #scheme 2020-03-23T19:42:46Z klovett quit (Remote host closed the connection) 2020-03-23T19:50:26Z seepel quit (Ping timeout: 256 seconds) 2020-03-23T19:55:41Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-23T19:58:25Z stultulo joined #scheme 2020-03-23T20:00:35Z v_m_v quit (Remote host closed the connection) 2020-03-23T20:00:46Z f8l quit (Ping timeout: 265 seconds) 2020-03-23T20:00:46Z stultulo is now known as f8l 2020-03-23T20:12:36Z xlei quit (Ping timeout: 256 seconds) 2020-03-23T20:16:14Z xlei joined #scheme 2020-03-23T20:17:14Z klovett joined #scheme 2020-03-23T20:35:22Z v_m_v joined #scheme 2020-03-23T20:35:26Z ggole quit (Quit: Leaving) 2020-03-23T20:37:00Z luni quit (Remote host closed the connection) 2020-03-23T20:39:54Z Khisanth quit (Ping timeout: 240 seconds) 2020-03-23T20:39:56Z v_m_v quit (Ping timeout: 250 seconds) 2020-03-23T20:40:20Z Khisanth joined #scheme 2020-03-23T20:48:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-23T21:01:03Z nckx is now known as impressed_bot 2020-03-23T21:01:09Z impressed_bot is now known as nckx 2020-03-23T21:10:51Z izh_ joined #scheme 2020-03-23T21:15:14Z hugh_marera quit (Read error: Connection reset by peer) 2020-03-23T21:16:43Z badkins quit (Remote host closed the connection) 2020-03-23T21:27:30Z astronavt quit (Quit: ...) 2020-03-23T21:27:42Z astronavt joined #scheme 2020-03-23T21:28:53Z rgherdt quit (Ping timeout: 246 seconds) 2020-03-23T21:33:59Z astronavt quit (Quit: ...) 2020-03-23T21:34:36Z evdubs quit (Remote host closed the connection) 2020-03-23T21:34:56Z evdubs joined #scheme 2020-03-23T21:52:08Z TCZ joined #scheme 2020-03-23T21:55:19Z izh_ quit (Quit: Leaving) 2020-03-23T22:04:28Z v_m_v joined #scheme 2020-03-23T22:08:54Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-23T22:16:32Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-23T22:24:36Z v_m_v joined #scheme 2020-03-23T22:32:23Z lritter quit (Ping timeout: 260 seconds) 2020-03-23T22:39:35Z v_m_v quit (Remote host closed the connection) 2020-03-23T22:39:43Z cartwright quit (Ping timeout: 240 seconds) 2020-03-23T22:42:37Z cartwright joined #scheme 2020-03-23T22:58:16Z TCZ quit (Quit: Leaving) 2020-03-23T23:12:29Z v_m_v joined #scheme 2020-03-23T23:16:45Z v_m_v quit (Ping timeout: 250 seconds) 2020-03-23T23:19:44Z badkins joined #scheme 2020-03-23T23:23:11Z ofc joined #scheme 2020-03-23T23:30:38Z ArneBab quit (Ping timeout: 256 seconds) 2020-03-23T23:31:37Z ArneBab joined #scheme 2020-03-23T23:31:37Z ArneBab quit (Changing host) 2020-03-23T23:31:37Z ArneBab joined #scheme 2020-03-23T23:39:57Z xelxebar quit (Remote host closed the connection) 2020-03-23T23:41:35Z daviid joined #scheme 2020-03-23T23:41:56Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-23T23:43:21Z xelxebar joined #scheme 2020-03-24T00:24:53Z badkins quit (Remote host closed the connection) 2020-03-24T00:25:26Z badkins joined #scheme 2020-03-24T00:27:17Z TCZ joined #scheme 2020-03-24T00:32:04Z badkins quit (Ping timeout: 256 seconds) 2020-03-24T00:42:16Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-24T00:42:40Z ayerhart_ quit (Quit: Leaving) 2020-03-24T00:43:57Z v_m_v joined #scheme 2020-03-24T00:45:15Z badkins joined #scheme 2020-03-24T00:48:20Z v_m_v quit (Ping timeout: 258 seconds) 2020-03-24T00:50:39Z ahungry joined #scheme 2020-03-24T00:54:52Z leb joined #scheme 2020-03-24T00:55:26Z leb quit (Client Quit) 2020-03-24T00:57:30Z lockywolf joined #scheme 2020-03-24T00:58:09Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-24T01:10:42Z Khisanth joined #scheme 2020-03-24T01:34:54Z lockywolf_ joined #scheme 2020-03-24T01:38:01Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-24T01:39:53Z Guest36118 joined #scheme 2020-03-24T01:46:27Z rbarraud|2 joined #scheme 2020-03-24T01:47:26Z brendyyn joined #scheme 2020-03-24T01:58:15Z badkins quit (Remote host closed the connection) 2020-03-24T01:58:50Z badkins joined #scheme 2020-03-24T02:07:37Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-24T02:07:45Z torbo joined #scheme 2020-03-24T02:10:31Z badkins quit (Ping timeout: 265 seconds) 2020-03-24T02:19:21Z TCZ quit (Quit: Leaving) 2020-03-24T02:40:30Z drakonis joined #scheme 2020-03-24T02:47:21Z f8l quit (Ping timeout: 250 seconds) 2020-03-24T02:48:53Z f8l joined #scheme 2020-03-24T03:10:20Z seepel joined #scheme 2020-03-24T03:22:03Z SGASAU quit (Ping timeout: 265 seconds) 2020-03-24T03:25:29Z torbo quit (Remote host closed the connection) 2020-03-24T03:44:25Z v_m_v joined #scheme 2020-03-24T03:46:08Z gravicappa joined #scheme 2020-03-24T03:46:26Z stultulo joined #scheme 2020-03-24T03:46:48Z stultulo is now known as oldf8l 2020-03-24T03:46:54Z f8l quit (Ping timeout: 240 seconds) 2020-03-24T03:46:54Z oldf8l is now known as f8l 2020-03-24T03:49:16Z v_m_v quit (Ping timeout: 256 seconds) 2020-03-24T03:52:15Z pilne quit (Quit: Easy as 3.14159265358979323846...) 2020-03-24T03:57:38Z stultulo joined #scheme 2020-03-24T03:59:01Z f8l quit (Ping timeout: 264 seconds) 2020-03-24T03:59:02Z stultulo is now known as f8l 2020-03-24T04:07:41Z badkins joined #scheme 2020-03-24T04:10:18Z epony joined #scheme 2020-03-24T04:12:54Z badkins quit (Ping timeout: 240 seconds) 2020-03-24T04:30:49Z seepel quit (Ping timeout: 264 seconds) 2020-03-24T04:34:23Z brendyyn quit (Ping timeout: 250 seconds) 2020-03-24T04:37:01Z seepel joined #scheme 2020-03-24T04:42:50Z seepel quit (Remote host closed the connection) 2020-03-24T04:43:15Z seepel joined #scheme 2020-03-24T04:50:22Z epony quit (Quit: reconf) 2020-03-24T04:50:41Z epony joined #scheme 2020-03-24T04:53:29Z epony quit (Remote host closed the connection) 2020-03-24T04:55:30Z epony joined #scheme 2020-03-24T05:06:24Z seepel quit (Ping timeout: 256 seconds) 2020-03-24T05:18:49Z jao quit (Ping timeout: 264 seconds) 2020-03-24T05:19:23Z bandali quit (Quit: ZNC - https://znc.in) 2020-03-24T05:19:35Z bandali joined #scheme 2020-03-24T05:23:30Z ggole joined #scheme 2020-03-24T05:29:04Z skapata quit (Quit: Ĝis!) 2020-03-24T05:29:32Z ahungry quit (Remote host closed the connection) 2020-03-24T05:34:38Z terpri quit (Remote host closed the connection) 2020-03-24T05:35:20Z terpri joined #scheme 2020-03-24T05:36:13Z terpri quit (Remote host closed the connection) 2020-03-24T05:36:56Z lockywolf__ joined #scheme 2020-03-24T05:38:06Z terpri joined #scheme 2020-03-24T05:39:50Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-24T05:45:46Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-24T05:48:06Z Azmee quit (Quit: sleepy) 2020-03-24T06:28:22Z lockywolf_ joined #scheme 2020-03-24T06:28:47Z notzmv quit (Ping timeout: 250 seconds) 2020-03-24T06:30:57Z lockywolf__ quit (Ping timeout: 250 seconds) 2020-03-24T06:40:25Z gnomon quit (Ping timeout: 268 seconds) 2020-03-24T06:41:56Z gnomon joined #scheme 2020-03-24T07:10:21Z seepel joined #scheme 2020-03-24T07:13:05Z jobol joined #scheme 2020-03-24T07:13:20Z seepel quit (Remote host closed the connection) 2020-03-24T07:13:38Z seepel joined #scheme 2020-03-24T07:34:08Z shakdwipeea joined #scheme 2020-03-24T07:38:50Z rgherdt joined #scheme 2020-03-24T08:02:16Z luni joined #scheme 2020-03-24T08:04:15Z tryte quit (Remote host closed the connection) 2020-03-24T08:04:32Z tryte joined #scheme 2020-03-24T08:14:10Z oni-on-ion quit (Read error: Connection reset by peer) 2020-03-24T08:15:21Z oni-on-ion joined #scheme 2020-03-24T08:17:53Z v_m_v joined #scheme 2020-03-24T08:18:53Z civodul joined #scheme 2020-03-24T08:21:04Z seepel quit (Remote host closed the connection) 2020-03-24T08:21:31Z seepel joined #scheme 2020-03-24T08:23:01Z v_m_v quit (Ping timeout: 264 seconds) 2020-03-24T08:29:27Z seepel quit (Ping timeout: 265 seconds) 2020-03-24T08:58:42Z scm joined #scheme 2020-03-24T08:59:52Z scm quit (Remote host closed the connection) 2020-03-24T09:07:02Z notzmv joined #scheme 2020-03-24T09:22:43Z luni quit (Remote host closed the connection) 2020-03-24T09:45:34Z stepnem quit (Ping timeout: 240 seconds) 2020-03-24T09:48:04Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-24T09:48:09Z v_m_v joined #scheme 2020-03-24T09:49:46Z brendyyn joined #scheme 2020-03-24T09:51:03Z yarotle joined #scheme 2020-03-24T09:56:16Z yarotle quit (Remote host closed the connection) 2020-03-24T10:04:18Z future-schemer-2 joined #scheme 2020-03-24T10:05:27Z future-schemer-2 quit (Remote host closed the connection) 2020-03-24T10:16:17Z stepnem joined #scheme 2020-03-24T10:35:21Z lockywolf_ joined #scheme 2020-03-24T10:38:00Z v_m_v quit (Remote host closed the connection) 2020-03-24T10:51:45Z v_m_v joined #scheme 2020-03-24T11:07:49Z lockywolf__ joined #scheme 2020-03-24T11:09:59Z lockywolf_ quit (Ping timeout: 246 seconds) 2020-03-24T11:17:25Z webshinra quit (Remote host closed the connection) 2020-03-24T11:19:44Z webshinra joined #scheme 2020-03-24T11:26:44Z TCZ joined #scheme 2020-03-24T11:49:08Z Tirifto joined #scheme 2020-03-24T11:54:53Z webshinra_ joined #scheme 2020-03-24T11:56:59Z webshinra quit (Ping timeout: 272 seconds) 2020-03-24T12:08:43Z lritter joined #scheme 2020-03-24T12:10:35Z SGASAU joined #scheme 2020-03-24T12:43:45Z M-Dog joined #scheme 2020-03-24T12:45:36Z SGASAU quit (Remote host closed the connection) 2020-03-24T12:45:47Z SGASAU joined #scheme 2020-03-24T12:54:12Z lockywolf__ quit (Read error: Connection reset by peer) 2020-03-24T12:54:22Z lockywolf_ joined #scheme 2020-03-24T12:55:43Z lockywolf_ quit (Remote host closed the connection) 2020-03-24T12:56:15Z lockywolf_ joined #scheme 2020-03-24T13:07:07Z badkins joined #scheme 2020-03-24T13:15:56Z TCZ quit (Remote host closed the connection) 2020-03-24T13:22:53Z TCZ joined #scheme 2020-03-24T13:24:50Z SGASAU quit (Remote host closed the connection) 2020-03-24T13:24:58Z SGASAU joined #scheme 2020-03-24T13:25:52Z jobol quit (Quit: Leaving) 2020-03-24T13:26:25Z v_m_v quit (Remote host closed the connection) 2020-03-24T13:31:32Z kritixilithos joined #scheme 2020-03-24T13:32:13Z v_m_v joined #scheme 2020-03-24T13:41:02Z notzmv quit (Read error: Connection reset by peer) 2020-03-24T14:07:59Z jao joined #scheme 2020-03-24T14:14:59Z badkins quit (Remote host closed the connection) 2020-03-24T14:16:51Z badkins joined #scheme 2020-03-24T14:20:55Z lockywolf_ quit (Remote host closed the connection) 2020-03-24T14:21:05Z badkins quit (Ping timeout: 246 seconds) 2020-03-24T14:22:33Z lockywolf joined #scheme 2020-03-24T14:22:35Z badkins joined #scheme 2020-03-24T14:23:20Z lockywolf quit (Remote host closed the connection) 2020-03-24T14:23:55Z lockywolf joined #scheme 2020-03-24T14:24:28Z v_m_v quit (Remote host closed the connection) 2020-03-24T14:24:50Z lockywolf quit (Remote host closed the connection) 2020-03-24T14:25:53Z lockywolf joined #scheme 2020-03-24T14:26:25Z lockywolf quit (Remote host closed the connection) 2020-03-24T14:27:11Z badkins quit (Ping timeout: 250 seconds) 2020-03-24T14:35:47Z TCZ quit (Quit: Leaving) 2020-03-24T14:42:43Z terpri quit (Remote host closed the connection) 2020-03-24T14:43:04Z terpri joined #scheme 2020-03-24T14:52:23Z badkins joined #scheme 2020-03-24T14:52:31Z oni-on-ion quit (Ping timeout: 246 seconds) 2020-03-24T14:53:26Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-24T14:55:03Z v_m_v joined #scheme 2020-03-24T14:56:50Z v_m_v quit (Read error: No route to host) 2020-03-24T14:57:15Z v_m_v joined #scheme 2020-03-24T15:00:34Z [rg] joined #scheme 2020-03-24T15:00:40Z v_m_v quit (Remote host closed the connection) 2020-03-24T15:09:49Z daviid quit (Ping timeout: 264 seconds) 2020-03-24T15:10:41Z johncob joined #scheme 2020-03-24T15:11:31Z [rg] quit (Quit: Konversation terminated!) 2020-03-24T15:12:07Z johncob_ quit (Ping timeout: 246 seconds) 2020-03-24T15:15:22Z Tirifto quit (Quit: Leaving.) 2020-03-24T15:15:48Z Tirifto joined #scheme 2020-03-24T15:20:35Z TCZ joined #scheme 2020-03-24T15:20:58Z SGASAU quit (Remote host closed the connection) 2020-03-24T15:21:13Z SGASAU joined #scheme 2020-03-24T15:24:44Z SGASAU quit (Remote host closed the connection) 2020-03-24T15:24:53Z SGASAU joined #scheme 2020-03-24T15:33:48Z ngz joined #scheme 2020-03-24T15:35:24Z SGASAU quit (Remote host closed the connection) 2020-03-24T15:35:39Z kjak quit (Ping timeout: 250 seconds) 2020-03-24T15:35:40Z SGASAU joined #scheme 2020-03-24T15:42:35Z kjak joined #scheme 2020-03-24T15:52:04Z xkapastel joined #scheme 2020-03-24T15:59:12Z kjak quit (Ping timeout: 256 seconds) 2020-03-24T16:06:31Z luni joined #scheme 2020-03-24T16:06:33Z hugh_marera joined #scheme 2020-03-24T16:09:44Z SGASAU quit (Remote host closed the connection) 2020-03-24T16:10:11Z SGASAU joined #scheme 2020-03-24T16:18:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-24T16:21:06Z kjak joined #scheme 2020-03-24T16:24:25Z kritixilithos joined #scheme 2020-03-24T16:25:20Z M-Dog is now known as DKordic 2020-03-24T16:42:09Z badkins quit (Remote host closed the connection) 2020-03-24T16:42:51Z badkins joined #scheme 2020-03-24T16:45:55Z skapata joined #scheme 2020-03-24T16:47:35Z badkins quit (Ping timeout: 250 seconds) 2020-03-24T16:58:45Z shakdwipeea quit (Quit: Konversation terminated!) 2020-03-24T17:08:48Z oni-on-ion joined #scheme 2020-03-24T17:14:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-24T17:18:35Z oni-on-ion is now known as ear-the-art 2020-03-24T17:20:16Z v_m_v joined #scheme 2020-03-24T17:20:48Z badkins joined #scheme 2020-03-24T17:26:50Z skapata quit (Remote host closed the connection) 2020-03-24T17:31:41Z [rg] joined #scheme 2020-03-24T17:32:54Z brendyyn quit (Ping timeout: 240 seconds) 2020-03-24T17:45:01Z zig quit (*.net *.split) 2020-03-24T17:45:01Z cross_ quit (*.net *.split) 2020-03-24T17:45:01Z ByronJohnson quit (*.net *.split) 2020-03-24T17:45:01Z nckx quit (*.net *.split) 2020-03-24T17:45:01Z _apg quit (*.net *.split) 2020-03-24T17:45:17Z ByronJohnson joined #scheme 2020-03-24T17:45:30Z cross joined #scheme 2020-03-24T17:45:33Z nckx joined #scheme 2020-03-24T17:45:41Z zig joined #scheme 2020-03-24T17:47:28Z TCZ quit (Quit: Leaving) 2020-03-24T17:51:37Z kritixilithos joined #scheme 2020-03-24T17:58:15Z [rg] quit (Quit: Konversation terminated!) 2020-03-24T18:00:12Z badkins quit (Remote host closed the connection) 2020-03-24T18:00:44Z badkins joined #scheme 2020-03-24T18:03:52Z SGASAU quit (Ping timeout: 256 seconds) 2020-03-24T18:05:34Z badkins quit (Ping timeout: 256 seconds) 2020-03-24T18:05:43Z ear-the-art quit (Ping timeout: 246 seconds) 2020-03-24T18:12:24Z coffeeturtle joined #scheme 2020-03-24T18:12:48Z badkins joined #scheme 2020-03-24T18:18:12Z coffeeturtle quit (Quit: leaving) 2020-03-24T18:20:16Z ggole quit (Quit: Leaving) 2020-03-24T18:50:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-24T18:56:37Z kritixilithos joined #scheme 2020-03-24T19:02:39Z Fare joined #scheme 2020-03-24T19:03:22Z skapata joined #scheme 2020-03-24T19:06:17Z seepel joined #scheme 2020-03-24T19:09:26Z kritixilithos quit (Quit: quit) 2020-03-24T19:11:14Z seepel quit (Ping timeout: 246 seconds) 2020-03-24T19:20:16Z daviid joined #scheme 2020-03-24T19:30:44Z _apg joined #scheme 2020-03-24T19:31:57Z ear-the-art joined #scheme 2020-03-24T19:34:49Z v_m_v quit (Remote host closed the connection) 2020-03-24T19:53:04Z drakonis joined #scheme 2020-03-24T20:02:48Z badkins quit (Remote host closed the connection) 2020-03-24T20:04:33Z badkins joined #scheme 2020-03-24T20:05:05Z TCZ joined #scheme 2020-03-24T20:06:42Z leb joined #scheme 2020-03-24T20:09:06Z badkins quit (Ping timeout: 256 seconds) 2020-03-24T20:17:05Z v_m_v joined #scheme 2020-03-24T20:17:13Z v_m_v quit (Client Quit) 2020-03-24T20:20:37Z aeth: As busy as I've been, I'm rapidly approaching getting everything working except for the derived macros and the macro system to derive them... and perhaps a few of the later parts of Ch 6, 6.10 (control features) and 6.11 (exceptions) should probably be handled separately, as their own tasks. 2020-03-24T20:27:21Z aeth: with a slight modification to the CPS macro (incomplete, but it was tricky so I only am supporting symbols and functions for the moment... IF and non-symbol atoms will come soon) to funcall CL variables rather than call CL functions, I can compose with-r7rs-global-environment with with-cps-transform 2020-03-24T20:27:56Z aeth: Then I can just add back in the thunk+trampoline minimal runtime that ensures tail recursion and I essentially have the Scheme runtime and just need to read into it 2020-03-24T20:28:15Z aeth: with-r7rs-global-environment is a temporary thing until libraries are implemented, it just assumes everything in the R7RS CL package is imported. 2020-03-24T20:31:13Z aeth: I should add the caveat that it is neither optimized (unnecessary CPS is expensive) nor correct (I probably didn't catch all of the surprisingly frequent semantic mismatches between the two languages) 2020-03-24T20:32:06Z zig: aeth: what are you doing? 2020-03-24T20:32:15Z aeth: zig: https://gitlab.com/mbabich/airship-scheme 2020-03-24T20:32:59Z aeth: It is three things, essentially. It is a Scheme written in CL, it is Scheme in CL, and it is CL in Scheme. The "Scheme in CL" part has done a good job fooling Gitlab's language detection into thinking it's 90% Scheme when it currently is far from that. 2020-03-24T20:33:27Z zig: ahah! 2020-03-24T20:33:34Z aeth: It will only get worse with time 2020-03-24T20:34:12Z zig: how do you implement call/cc? 2020-03-24T20:34:12Z aeth: I intend on doing things like reimplemnting CL loop in Scheme, and I will probably also expose Scheme-specific things like lazy lists (maybe even a hygienic macro system just for fun? if it's possible) to CL. 2020-03-24T20:34:27Z aeth: zig: the slow, bad, boring way 2020-03-24T20:34:45Z aeth: CPS transformation 2020-03-24T20:34:47Z zig: what does it mean? you transform in CPS then? 2020-03-24T20:34:49Z zig: ah ok 2020-03-24T20:34:51Z zig: I do the same 2020-03-24T20:35:01Z zig: my target is / was javascript 2020-03-24T20:35:08Z aeth: I mean, I don't have a (define-scheme-procedure (call/cc ...) ...) yet 2020-03-24T20:35:15Z zig: neither do i 2020-03-24T20:35:17Z aeth: but I probably could define it with what I have already 2020-03-24T20:35:20Z zig: do you use a trampoline? 2020-03-24T20:35:28Z aeth: not in this version, but yes 2020-03-24T20:35:41Z aeth: I'm going to port it back from my 2016 attempt, which is apparently the last time I had time to work on this 2020-03-24T20:35:44Z aeth: time flies 2020-03-24T20:35:59Z zig: what is the purpose of Scheme in CL and in the other way? 2020-03-24T20:36:30Z zig: I mean is it an exercise or do you plan to use to build something? 2020-03-24T20:36:31Z pjb: There are some bodies of scheme code that it would be nice to be able to run in a CL implementation. 2020-03-24T20:37:07Z aeth: Well, from the perspective of Scheme... it gives you a fast runtime (assuming I can de-CPS the CPS and do other optimizations, up to the point of storing the source for all of the primitives and liberally inlining them so the CL compiler can inline them) 2020-03-24T20:37:41Z zig: ok, so you want to take advantage of CL compilers 2020-03-24T20:37:44Z zig: IIUC. 2020-03-24T20:37:51Z aeth: It also gives you all of Quicklisp assuming someone writes something similar to standard-procedures.lisp, that is, assuming someone says whether something is a predicate (nil is #f) or a procedure (nil is the empty list) 2020-03-24T20:38:11Z aeth: Macros will be trickier, if possible. Code-walking macros will probably be impossible. 2020-03-24T20:38:12Z wasamasa: why does this sound like the reasoning for compiling scheme to C 2020-03-24T20:38:26Z aeth: wasamasa: less semantic mismatch though 2020-03-24T20:38:52Z aeth: wasamasa: I'll probably match or surpass a Scheme->C compiler with my Scheme->CL, while using < 10 kloc and maybe even < 5 kloc 2020-03-24T20:39:05Z aeth: That's what a target language with similar semantics gives you 2020-03-24T20:39:07Z zig: In my Scheme->Javascript compiler, macros are supported by the host scheme. 2020-03-24T20:39:26Z aeth: zig: no, I mean, compatibility with CL macros... JS doesn't have that issue because it doesn't have any 2020-03-24T20:39:36Z ear-the-art: i learned that gambit has a javascript backend.. 2020-03-24T20:39:40Z ear-the-art: YIL* 2020-03-24T20:40:05Z wasamasa: aeth: sure, I've just seen C compilers not performing well on the CPS soup at all 2020-03-24T20:40:54Z leb quit 2020-03-24T20:42:20Z aeth: wasamasa: well using pyth (pythagorean theorem) from https://en.wikipedia.org/wiki/Continuation-passing_style 2020-03-24T20:42:33Z aeth: wasamasa: direct CL is 1k cycles in SBCL, CPS is 7k cycles, so 7x penalty 2020-03-24T20:42:41Z aeth: But that's pretty much the worst case because it's numeric arithmetic 2020-03-24T20:42:52Z zig: ear-the-art: I might end up using gambit in the end, but working on scheme->javascript was fun on its own. 2020-03-24T20:43:01Z wasamasa: ear-the-art: you learned it yesterday? 2020-03-24T20:44:23Z aeth: (oh, and the penalty is not just CPS, it's also the way the arithmetic functions in general are written) 2020-03-24T20:44:38Z zig: aeth: did you read LiSP? 2020-03-24T20:44:54Z zig: LISP in Small Pieces. 2020-03-24T20:46:08Z aeth: wasamasa: sorry, without the CPS transformation but with the Scheme wrappers it's 6.3k vs. 7.3k, so almost all of the penalty is not inlining the arithmetic in the first place, not the CPS 2020-03-24T20:46:22Z aeth: only 15% for the CPS itself 2020-03-24T20:46:24Z wasamasa: hm 2020-03-24T20:46:43Z aeth: zig: no, it's really expensive last I checked (which was a while ago) 2020-03-24T20:46:50Z zig: ah ok 2020-03-24T20:47:08Z zig: Libraries can do magic. 2020-03-24T20:47:20Z zig: well, if you have access to one. 2020-03-24T20:47:28Z luni quit (Remote host closed the connection) 2020-03-24T20:49:47Z aeth: wasamasa: anyway, it looks like even if I don't optimize (except maybe just special case the arithmetic), I'll probably have one of the fastest Scheme implementations when using SBCL as the host, for "free" 2020-03-24T20:51:12Z aeth: The other direction is probably harder to justify, that is why CLers would use a Scheme in CL 2020-03-24T20:54:48Z zig: did you benchmark say gambit and chez vs. cl? 2020-03-24T20:55:33Z aeth: well, Chez is a JIT afaik, so it will have different performance characteristics to CLs, which are typically AOT compiled (a few are just pure naive bytecode interpreters) 2020-03-24T20:55:48Z zig: Chez is AOT so does Gambit. 2020-03-24T20:56:04Z aeth: oh? I thought Racket-on-Chez was JIT? Is it old Racket that's JIT? 2020-03-24T20:56:15Z ecraven: it is 2020-03-24T20:56:39Z zig: ecraven: Chez is JIT? 2020-03-24T20:56:51Z ecraven: racket-without-chez has a JIT 2020-03-24T20:57:01Z zig: so does Guile 3.x 2020-03-24T20:57:21Z aeth: anyway, Scheme vs. CL is a surprisingly apples-to-oranges comparison because fast CL isn't very Scheme-like 2020-03-24T20:57:36Z zig: That being said, I believe some program in CL and Chez or gambit, I think CL version will be faster. 2020-03-24T20:57:50Z aeth: Fast CL uses type declarations, which I've never seen a Scheme do, although maybe some Schemes have them. The closest is probably Typed Racket, but Typed Racket is more types-to-be-like-Haskell than types-for-performance like SBCL 2020-03-24T20:57:58Z zig: but with the translation into CPS in the middle, I do not think it will compete. 2020-03-24T20:58:45Z ear-the-art: zig, ah, cool - did not know you created it. ^_^ 2020-03-24T20:58:52Z zig: aeth: we had a convo about that, my take on it, is that scheme should use 'assert' like form to provide type information. 2020-03-24T20:58:53Z ear-the-art: wasamasa, yeah =) from the gambit mailing list. 2020-03-24T20:59:10Z ear-the-art: wasamasa, previous to this i thought that path would have been gambit_c -> emscripten -> js 2020-03-24T20:59:26Z zig: aeth: it makes things complicated, introducing another phase or kind of phase but it is doable I guess. 2020-03-24T20:59:39Z zig: ear-the-art: gambit has both I believe. 2020-03-24T21:00:03Z ear-the-art: zig, both what? my first message was realising gambit has js backend. 2020-03-24T21:00:36Z aeth: zig: If you mean a convo many years ago, I believe I said something like... Scheme has less of the need for type declarations than CL because Scheme's less generic so Scheme's approach is to often to force your type declarations in the procedure call 2020-03-24T21:00:59Z zig: ear-the-art: If I am not mistaken, the C backend can be compiled by emscripten, see http://feeley.github.io/gambit-in-the-browser/ 2020-03-24T21:01:39Z zig: ear-the-art: both JS backend, and emscripten support. 2020-03-24T21:02:12Z aeth: zig: e.g. bytevector-u8-ref vs. vector-ref, both would be aref in CL, so CL has less information to start with, while Scheme will always know that the bytevector's element is a byte without declarations or extensive inference 2020-03-24T21:02:12Z zig: aeth: that is true in my experience, it is rare that type are unknown or can be different depending a caller or something. 2020-03-24T21:02:49Z zig: aeth: that is the reason equal? is not used very often (at least not by me) 2020-03-24T21:02:57Z aeth: on the other hand, CL's type declaration also gives you the length, so fully declared CL will have an advantage if the bytevector isn't adjustable and is of a known size because it can also remove the bounds checks. It will also be more concise given several refs and one declaration 2020-03-24T21:03:28Z aeth: I will probably just have an aref exposed in a CL library 2020-03-24T21:03:45Z jcowan: Chez is technically always an AOT compiler, but EVAL invokes that too 2020-03-24T21:04:02Z ear-the-art: zig, yep. thank you for reminder 2020-03-24T21:04:15Z jcowan: and it has a precompiler that stops part way through the compilation 2020-03-24T21:04:27Z jcowan: the result of that can be executed with petite or further compiled with chez 2020-03-24T21:04:47Z aeth: jcowan: oh, then it's probably not too unlike CL AOT compilers, where you can do fairly elaborate things during compile time, which can happen at any time 2020-03-24T21:04:58Z jcowan nods 2020-03-24T21:05:30Z zig: I read an article, about someone doing JIT with AOT in CL, by compiling some piece of code at the runtime and the result was faster than c++ 2020-03-24T21:06:09Z jcowan: Sure, but you can hope that aref can be optimized with the 2020-03-24T21:06:24Z jcowan: that;s THE, not an incomplete sentence 2020-03-24T21:06:52Z zig: looks like it ;) 2020-03-24T21:08:20Z jcowan: yes, if I was goijng to lc I should have written `the` 2020-03-24T21:08:37Z jcowan: which even gets visually boxed on irccloud 2020-03-24T21:09:10Z pilne joined #scheme 2020-03-24T21:18:44Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-24T21:23:02Z aeth: zig: You can make a compile-to-CL language faster than CL with JITing, as well as combining things into one function/file that CL cannot assume, etc. Although, to be fair, SBCL has readded block compilation so as long as it's one file, SBCL is probably competitive again now. https://mstmetent.blogspot.com/2020/02/block-compilation-fresh-in-sbcl-202.html 2020-03-24T21:23:14Z aeth: (I mean, competitive with compiling something to SBCL that's not CL) 2020-03-24T21:24:05Z aeth: You can still win by e.g. compiling your entire application to one file and then block compiling it, which you can't just do with any arbitrary CL because e.g. macros that use functions need those functions wrapped in EVAL-WHEN unless they're from different files so you can't just concat a bunch of .lisp files 2020-03-24T21:24:58Z aeth: Of course, that approach then prevents you from JITing unless you JIT file-at-a-time, which you just threw your entire application in. So... yeah, tradeoffs with different ways to beat CL by compiling to CL. :-) 2020-03-24T21:25:48Z aeth: "Sure, but you can hope that aref can be optimized with the" oh no, Big Compiler is yet again censoring IRC lines 2020-03-24T21:27:22Z ear-the-art: =P 2020-03-24T21:32:28Z aeth: the secret to beating C++ performance in a compiler is the 2020-03-24T21:34:03Z ear-the-art: heh. operator (++) operand ambiguous type 2020-03-24T21:34:39Z ear-the-art: you've said CL is optimized differently than scheme, but what of when something like SBCL has TCO ? could CL be optimized like how scheme is? 2020-03-24T21:34:40Z rgherdt quit (Ping timeout: 256 seconds) 2020-03-24T21:36:56Z aeth: You cannot rely on CL TCO because different optimization levels (which can be global) can affect the presence or absence of TCO, although you could try to force it for specific implementations. There's no easy way to just say (declare (optimize (tco 1))) and force it on no matter what. 2020-03-24T21:38:36Z aeth: But the real reason why (SB)CL is optimized differently than Scheme and why SBCL beats Scheme in a lot of those sorts of benchmarks is because SBCL essentially chooses to give up dynamic typing in such situations. Stuff like (defun foo (x) (declare (type single-float x)) (1+ x)) can be really optimized if you're willing to degenericize your code. 2020-03-24T21:38:51Z aeth: degenerify? 2020-03-24T21:39:58Z aeth: anyway, you can't even do the equivalent in most Schemes because most Schemes afaik just have one inexact, probably an IEEE double, instead of CL, which has 2-4 floats (short, single, double, and long floats... but usually just the middle 2 or the latter 3) 2020-03-24T21:40:04Z wasamasa: rudybot: degenerate 2020-03-24T21:40:05Z rudybot: wasamasa: see, then it would degenerate into downloading the from the HTTP mirrors ... 2020-03-24T21:41:31Z ear-the-art: aeth, ahh, yes i see 2020-03-24T21:42:01Z aeth: to be fair, though, CL cannot portably give you a useful short float because it mandates more precision than the now-standard half-precision floating point (a decade or two newr than the CL standard) 2020-03-24T21:42:09Z ear-the-art: denigrate 2020-03-24T21:42:33Z SGASAU joined #scheme 2020-03-24T21:50:35Z gioyik joined #scheme 2020-03-24T22:01:30Z lritter quit (Quit: Leaving) 2020-03-24T22:05:10Z badkins joined #scheme 2020-03-24T22:05:42Z luni joined #scheme 2020-03-24T22:09:33Z badkins quit (Ping timeout: 250 seconds) 2020-03-24T22:19:55Z enderby joined #scheme 2020-03-24T22:22:06Z dan64- joined #scheme 2020-03-24T22:22:32Z enderby quit (Client Quit) 2020-03-24T22:22:36Z dan64 quit (Ping timeout: 246 seconds) 2020-03-24T22:29:04Z partyclicker joined #scheme 2020-03-24T22:35:22Z Tirifto quit (Quit: Leaving.) 2020-03-24T22:41:01Z partyclicker quit (Ping timeout: 264 seconds) 2020-03-24T22:42:07Z badkins joined #scheme 2020-03-24T22:42:25Z jcowan: Degenericize, yes. But even better, specialize. 2020-03-24T22:45:52Z akkad_ joined #scheme 2020-03-24T22:51:08Z akkad_ is now known as ober 2020-03-24T22:51:11Z ober is now known as Ober 2020-03-24T22:53:36Z aeth: okay, this is almost the necessary internal representation (unoptimized)... https://gitlab.com/mbabich/airship-scheme/-/blob/1dd8ef60ec35c2005ef3089fe840b220a59e06e5/scheme-core.lisp 2020-03-24T22:54:16Z aeth: As I said earlier, I need to make the CPS more robust than symbols-or-procedures, but it was surprisingly tricky so I cut the support for IF and for booleans and for non-boolean, non-symbol atoms just to get what I had to work 2020-03-24T22:54:25Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-24T22:54:55Z aeth: Combining the trampoline and the CPS might require a bit of care, too. Also, optimizing so it's not adding the massive overhead on things like +. 2020-03-24T22:56:19Z aeth: Pretty soon I can start (well, go back to) reading, though. I might want to do a scheme lambda and scheme define first, just so the read-in programs can be more useful. 2020-03-24T22:56:38Z aeth: Then it's just a matter of working through the more niche procedures, and the macro system. 2020-03-24T22:57:18Z luni left #scheme 2020-03-24T22:59:14Z rbarraud|2 joined #scheme 2020-03-24T22:59:30Z hugh_marera quit (Quit: hugh_marera) 2020-03-24T23:00:14Z aeth: There are actually quite a few forms of the Scheme primitives (like +) required. The Scheme function (which is also stored as a variable when importing to be Lisp-1), the source so it can be inlined, a version that (naively) is essentially (foo #'identity ...) or (trampoline (foo #'identity ...)) depending on if CL or Scheme defined it that CL can call (actually a few more wrappers, too, like false->nil)... 2020-03-24T23:02:22Z pjb quit (Ping timeout: 260 seconds) 2020-03-24T23:09:05Z SGASAU quit (Remote host closed the connection) 2020-03-24T23:09:31Z SGASAU joined #scheme 2020-03-24T23:10:05Z brendyyn joined #scheme 2020-03-24T23:15:45Z TCZ quit (Quit: Leaving) 2020-03-24T23:20:01Z SGASAU quit (Remote host closed the connection) 2020-03-24T23:20:49Z SGASAU joined #scheme 2020-03-24T23:29:21Z SGASAU quit (Remote host closed the connection) 2020-03-24T23:31:09Z SGASAU joined #scheme 2020-03-24T23:31:32Z SGASAU quit (Remote host closed the connection) 2020-03-24T23:46:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-24T23:46:34Z badkins quit (Remote host closed the connection) 2020-03-24T23:47:14Z badkins joined #scheme 2020-03-24T23:51:47Z badkins quit (Ping timeout: 258 seconds) 2020-03-24T23:58:00Z ngz quit (Remote host closed the connection) 2020-03-25T00:01:17Z xelxebar joined #scheme 2020-03-25T00:12:00Z TCZ joined #scheme 2020-03-25T00:21:50Z badkins joined #scheme 2020-03-25T00:44:00Z ahungry joined #scheme 2020-03-25T00:47:20Z TCZ quit (Quit: Leaving) 2020-03-25T00:49:10Z aeth: so from #lispcafe re < jcowan> Scheme's condition system is now isomorphic to CL's, but we still need restarts (which can be done portably) and implementers to actually understand restarts in native procedures (much less likely) 2020-03-25T00:49:48Z aeth: jcowan: How isomorphic do you mean? How specified are they? Could I just implement them as a subclass of airship-scheme-condition or would that cause a semantics mismatch? In which case I'd have to implement them as their own thing and catch them at the boundary... 2020-03-25T00:50:02Z jcowan: I should have said condition/exception system 2020-03-25T00:50:07Z luni joined #scheme 2020-03-25T00:50:08Z jcowan: or perhaps just exception system 2020-03-25T00:50:25Z jcowan: You don't need dedicated condition objects in either Scheme or CL 2020-03-25T00:51:07Z Fare quit (Ping timeout: 260 seconds) 2020-03-25T00:51:11Z jcowan: The trouble with standardizing conditions is that no two Schemes (beyond R6RS) agree on their condition system, particularly its hierarchy 2020-03-25T00:51:53Z jcowan: and some R6RS impls have disjoint R6RS and native systems, which must be truly annoying. 2020-03-25T00:51:59Z jcowan: I don't know what to do about that. 2020-03-25T00:52:09Z aeth: Well, I can solve that problem by implementing a second Scheme called biplane-scheme that shares the same condition system... 2020-03-25T00:52:51Z aeth: The two Schemes share it. :-) 2020-03-25T00:52:53Z jcowan: Pffft. 2020-03-25T00:53:03Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/ConditionsCowan.md is my best shot at it, and I know it's very limited 2020-03-25T00:53:04Z aeth: More seriously, I'm guessing that means that r7rs-large doesn't have anything concrete yet? 2020-03-25T00:53:22Z jcowan: Well, look at that pre-SRFI and see what you think 2020-03-25T00:54:05Z aeth: My first, immediate impression is that I love the API, but that's more Scheme than anything particular there. 2020-03-25T00:54:13Z aeth: (condition? obj) is so beautiful 2020-03-25T00:54:34Z aeth: I'm shocked at how rare foo-bar-baz? is in programming languages, even ones that can handle it syntactically. 2020-03-25T00:54:34Z jcowan: Take a look at thsi first 2020-03-25T00:54:35Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/CompoundObjectsCowan.md 2020-03-25T00:54:50Z Fare joined #scheme 2020-03-25T00:55:06Z jcowan: Most languages hog ! and ? for specialized syntax 2020-03-25T00:55:12Z jcowan: Ruby is an exception 2020-03-25T00:56:07Z aeth: jcowan: that might be too many condition types 2020-03-25T00:56:33Z aeth: I know it's not much compared to e.g. POSIX error codes, but outside of that I usually see a short list (and most POSIX error codes are useless, leading to reusing one that doesn't quite fit ime) 2020-03-25T00:56:59Z aeth: especially since you don't have multiple inheritance (but I guess you intend to use compound objects here?) 2020-03-25T00:58:16Z aeth: In particular, one thing that stands out is two syntax errors, lexical and syntax, with syntax reserved for "Scheme syntax errors", so would this be built-in only? What does my macro throw if my macro gets invalid syntax from the user? 2020-03-25T01:00:46Z aeth: I'm not sure I like "divide" as "division by exact zero". I'd rather see that as "division-by-zero" so it's self-describing, or have its description be very generic so you could reuse it to e.g. throw an error on other invalid divisions in your user code 2020-03-25T01:04:48Z TCZ joined #scheme 2020-03-25T01:14:07Z luni quit (Remote host closed the connection) 2020-03-25T01:28:45Z Fare quit (Remote host closed the connection) 2020-03-25T02:01:36Z TCZ quit (Quit: Leaving) 2020-03-25T02:01:52Z jcowan: Comments in detail are great. 2020-03-25T02:02:04Z jcowan: What other invalid divisions, though? 2020-03-25T02:02:59Z jcowan: The syntax conditions I'm going to remove, since there is no assurance that they will be caught. 2020-03-25T02:03:07Z jcowan: s/will/can 2020-03-25T02:05:51Z aeth: jcowan: I do like having some sort of syntax error in macros, even if they won't really be caught... at least for a more helpful error message 2020-03-25T02:06:04Z aeth: well, in theory... none of my macros are complete enough yet :-) 2020-03-25T02:06:59Z aeth: jcowan: I'm not sure about other invalid divisions because I'm not sure if they would be a division condition or some other kind of arithmetic condition, e.g. if you wanted to do x/y where you check if x or y is nan or infinity 2020-03-25T02:07:23Z jcowan: Inexact division always produces a defined result 2020-03-25T02:08:29Z aeth: Yes, but user code may want to error instead of returning the nan/infinity... it's just that erroring in / itself would be slow because of all of the checking required in formulae, which is why we get what we have. At least afaik. 2020-03-25T02:08:31Z jcowan: I mean, you could have a wrapper that converts +nan.0 to an exception, but the condition could be specialized to that. 2020-03-25T02:08:53Z aeth: yes, that's what I mean in fewer words 2020-03-25T02:09:08Z jcowan: Yes, exactly. It minimizes branches, which is really important for speed, particularly on GPUs 2020-03-25T02:09:46Z tryte quit (Remote host closed the connection) 2020-03-25T02:10:13Z tryte joined #scheme 2020-03-25T02:11:34Z gioyik quit (Ping timeout: 240 seconds) 2020-03-25T02:14:09Z badkins quit (Remote host closed the connection) 2020-03-25T02:14:45Z badkins joined #scheme 2020-03-25T02:18:05Z Riastradh: (ignore-errors (lambda () (flo:/ 1. 0.))) 2020-03-25T02:18:06Z Riastradh: ;Value: #[condition 13 "floating-point-divide-by-zero"] 2020-03-25T02:18:41Z Riastradh: MIT Scheme has no logic to check for floating-point division by zero, though. 2020-03-25T02:19:19Z badkins quit (Ping timeout: 260 seconds) 2020-03-25T02:21:01Z Riastradh: (Requires (flo:trap-exceptions! (flo:exception:divide-by-zero)) first, or (flo:with-trapped-exceptions ...).) 2020-03-25T02:22:54Z gioyik joined #scheme 2020-03-25T02:23:08Z aeth: heh 2020-03-25T02:23:18Z aeth: in CL it's the opposite 2020-03-25T02:24:16Z aeth: You have to use this macro WITH-FLOAT-TRAPS-MASKED. https://github.com/Shinmera/float-features/blob/d3ef60181635b0849aa28cfc238053b7ca4644b0/float-features.lisp#L166 2020-03-25T02:24:17Z rudybot: https://teensy.info/Kih4YcuIUT 2020-03-25T02:24:59Z aeth: You'll notice that the library has a 2018 copyright date, yes. Before that point, people just used sb-int:with-float-traps-masked and forced a slow path on everyone who didn't use SBCL. 2020-03-25T02:27:00Z Riastradh: Which Common Lisp systems (a) trap floating-point exceptions by default, but (b) don't provide a way to disable it? 2020-03-25T02:28:20Z aeth: I believe the standard mandates (a), which is why (a) is the default unless disabled by a macro. As for (b), well, I guess you can see how that macro is written. Although it's a #-(or ...) so it's all of the ones not listed 2020-03-25T02:29:00Z Riastradh: Where does the standard even discuss floating-point exceptions? 2020-03-25T02:32:36Z Riastradh: http://www.lispworks.com/documentation/HyperSpec/Body/f_sl.htm only mentions `Might signal division-by-zero if division by zero is attempted.' 2020-03-25T02:33:47Z Riastradh: OK, I guess it does define all the standard floating-point exceptions (but I see nothing normative about their use). 2020-03-25T02:34:05Z Riastradh: For example, http://www.lispworks.com/documentation/HyperSpec/Body/e_floa_1.htm says: `It is implementation-dependent whether floating point traps occur, and whether or how they may be enabled or disabled.' 2020-03-25T02:57:05Z ofc quit (Ping timeout: 246 seconds) 2020-03-25T03:01:27Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-25T03:14:01Z aeth quit (Ping timeout: 264 seconds) 2020-03-25T03:15:54Z aeth joined #scheme 2020-03-25T03:16:08Z aeth quit (Changing host) 2020-03-25T03:16:08Z aeth joined #scheme 2020-03-25T03:21:46Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-25T03:22:33Z X-Scale` joined #scheme 2020-03-25T03:23:14Z X-Scale` is now known as X-Scale 2020-03-25T03:43:33Z gravicappa joined #scheme 2020-03-25T03:59:51Z seepel joined #scheme 2020-03-25T04:00:43Z pilne quit (Quit: ASCII a stupid question, get a stupid ANSI!) 2020-03-25T04:09:49Z seepel quit (Ping timeout: 264 seconds) 2020-03-25T04:16:16Z badkins joined #scheme 2020-03-25T04:17:56Z gioyik quit (Ping timeout: 246 seconds) 2020-03-25T04:20:34Z badkins quit (Ping timeout: 240 seconds) 2020-03-25T04:24:49Z brendyyn quit (Ping timeout: 264 seconds) 2020-03-25T04:30:31Z gioyik joined #scheme 2020-03-25T05:11:39Z seepel joined #scheme 2020-03-25T05:13:47Z jao quit (Ping timeout: 250 seconds) 2020-03-25T05:18:23Z jao joined #scheme 2020-03-25T05:23:48Z Guest97706 joined #scheme 2020-03-25T05:24:09Z Guest97706 is now known as zmv 2020-03-25T05:25:27Z zmv is now known as notzmv 2020-03-25T05:30:08Z ahungry quit (Remote host closed the connection) 2020-03-25T05:31:06Z seepel quit (Ping timeout: 246 seconds) 2020-03-25T05:37:55Z seepel joined #scheme 2020-03-25T05:45:49Z jao quit (Ping timeout: 264 seconds) 2020-03-25T05:46:29Z drakonis quit (Ping timeout: 246 seconds) 2020-03-25T06:01:11Z gioyik quit (Ping timeout: 246 seconds) 2020-03-25T06:02:41Z gioyik joined #scheme 2020-03-25T06:09:46Z aeth quit (Ping timeout: 256 seconds) 2020-03-25T06:11:22Z aeth joined #scheme 2020-03-25T06:14:05Z rgherdt joined #scheme 2020-03-25T06:17:15Z badkins joined #scheme 2020-03-25T06:21:49Z badkins quit (Ping timeout: 250 seconds) 2020-03-25T06:34:15Z jobol joined #scheme 2020-03-25T06:47:27Z liulanghaitun joined #scheme 2020-03-25T07:27:49Z liulanghaitun quit (Ping timeout: 264 seconds) 2020-03-25T07:28:26Z ayerhart joined #scheme 2020-03-25T07:30:19Z ear-the-art quit (Remote host closed the connection) 2020-03-25T07:30:42Z ear-the-art joined #scheme 2020-03-25T07:40:43Z terpri quit (Remote host closed the connection) 2020-03-25T07:41:54Z terpri joined #scheme 2020-03-25T07:43:11Z mdhughes: jcowan: Things I especially liked in R6RS were the &name convention for condition types, and the hierarchy so I can ask (i/o-error? c) where c is &i/o-write or whatever. 2020-03-25T07:44:25Z liulanghaitun joined #scheme 2020-03-25T07:44:30Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T07:44:34Z skapata quit (Quit: Ĝis!) 2020-03-25T07:45:04Z liulanghaitun joined #scheme 2020-03-25T07:45:08Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T07:45:25Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-25T07:48:51Z mdhughes: Having a (file-error?) predicate that tests some specific conditions doesn't help if I want to make my own I/O error subtypes, or have another hierarchy. Every case ends up being a hand-coded list, and hope you didn't forget one. 2020-03-25T07:49:17Z ecraven: jcowan: see, we need that predicate dispatch! :D 2020-03-25T07:53:07Z liulanghaitun joined #scheme 2020-03-25T07:53:14Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T07:54:09Z liulanghaitun joined #scheme 2020-03-25T07:54:14Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T07:54:54Z liulanghaitun joined #scheme 2020-03-25T07:58:54Z liulanghaitun quit (Ping timeout: 240 seconds) 2020-03-25T08:03:31Z liulanghaitun joined #scheme 2020-03-25T08:03:36Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:05:43Z liulanghaitun joined #scheme 2020-03-25T08:05:47Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:06:49Z liulanghaitun joined #scheme 2020-03-25T08:06:54Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:08:24Z liulanghaitun joined #scheme 2020-03-25T08:08:29Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:09:43Z liulanghaitun joined #scheme 2020-03-25T08:09:49Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:10:44Z liulanghaitun joined #scheme 2020-03-25T08:10:49Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:12:31Z liulanghaitun joined #scheme 2020-03-25T08:12:40Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:14:36Z liulanghaitun joined #scheme 2020-03-25T08:14:40Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:16:44Z liulanghaitun joined #scheme 2020-03-25T08:16:49Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:17:49Z liulanghaitun joined #scheme 2020-03-25T08:17:55Z badkins joined #scheme 2020-03-25T08:17:56Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:18:59Z liulanghaitun joined #scheme 2020-03-25T08:19:04Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:21:14Z liulanghaitun joined #scheme 2020-03-25T08:21:19Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:22:02Z tryte quit (Remote host closed the connection) 2020-03-25T08:22:14Z badkins quit (Ping timeout: 240 seconds) 2020-03-25T08:22:18Z tryte joined #scheme 2020-03-25T08:22:57Z liulanghaitun joined #scheme 2020-03-25T08:23:03Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:24:01Z liulanghaitun joined #scheme 2020-03-25T08:24:06Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:25:29Z liulanghaitun joined #scheme 2020-03-25T08:25:34Z liulanghaitun quit (Max SendQ exceeded) 2020-03-25T08:28:22Z luni joined #scheme 2020-03-25T09:14:01Z lavaflow quit (Ping timeout: 264 seconds) 2020-03-25T09:19:14Z rgherdt quit (Ping timeout: 240 seconds) 2020-03-25T09:26:39Z lavaflow joined #scheme 2020-03-25T09:28:53Z ecraven: aaand I failed at writing a proper memoize function in PHP, neither did I find a working one.. 2020-03-25T09:49:30Z brendyyn joined #scheme 2020-03-25T09:56:53Z civodul joined #scheme 2020-03-25T10:02:51Z luni quit (Remote host closed the connection) 2020-03-25T10:07:34Z seepel quit (Ping timeout: 240 seconds) 2020-03-25T10:12:26Z luni joined #scheme 2020-03-25T10:13:58Z pjb joined #scheme 2020-03-25T10:24:15Z luni quit (Remote host closed the connection) 2020-03-25T10:27:58Z SGASAU joined #scheme 2020-03-25T10:32:35Z rbarraud|2: Yo 2020-03-25T10:32:56Z rbarraud|2: NZ 30 min from nationwide 4+ week lockdown now 2020-03-25T10:32:59Z rbarraud|2: :-/ 2020-03-25T10:37:01Z ArthurStrong joined #scheme 2020-03-25T10:45:13Z luni joined #scheme 2020-03-25T10:46:49Z xkapastel joined #scheme 2020-03-25T11:24:29Z luni quit (Remote host closed the connection) 2020-03-25T12:29:37Z daviid quit (Ping timeout: 264 seconds) 2020-03-25T12:37:27Z ggole joined #scheme 2020-03-25T12:40:42Z hugh_marera joined #scheme 2020-03-25T12:41:28Z hugh_marera quit (Client Quit) 2020-03-25T12:44:34Z lispmaxima joined #scheme 2020-03-25T12:45:47Z mdhughes: Hobbits will not escape Isengard. 2020-03-25T12:52:31Z SGASAU quit (Remote host closed the connection) 2020-03-25T12:52:32Z dto quit 2020-03-25T12:53:42Z lispmaxima quit (Quit: Leaving) 2020-03-25T12:57:04Z jao joined #scheme 2020-03-25T12:57:12Z SGASAU joined #scheme 2020-03-25T13:01:16Z badkins joined #scheme 2020-03-25T13:02:03Z pjb: mdhughes: I'd be not so sure: Hobbits are resourceful, and small: they can slide in small creaks… 2020-03-25T13:06:20Z pjb quit (Read error: Connection reset by peer) 2020-03-25T13:07:49Z pjb joined #scheme 2020-03-25T13:17:34Z lritter joined #scheme 2020-03-25T13:20:51Z luni joined #scheme 2020-03-25T13:37:25Z badkins quit (Remote host closed the connection) 2020-03-25T13:40:43Z badkins joined #scheme 2020-03-25T13:45:22Z badkins quit (Ping timeout: 256 seconds) 2020-03-25T13:59:21Z luni quit (Remote host closed the connection) 2020-03-25T14:11:26Z erkin: Good evening. 2020-03-25T14:16:15Z erkin: Does anyone know if it's possible to reliably insert conditional code for Schemes that don't support `cond-expand' (like Racket and Chez)? 2020-03-25T14:17:33Z erkin: I'm researching ways to write portable Scheme (again). This time in light of R7RS, however. 2020-03-25T14:19:55Z lucasb joined #scheme 2020-03-25T14:20:22Z zig: yes, you can use module.chez.scm check --libexts in chez's scheme cli 2020-03-25T14:20:56Z gwatt: erkin: The r6rs schemes tended to prefer splitting out implementation specific code into separate files, name ..sls 2020-03-25T14:20:59Z zig: well, chez does not support define-library form, I am working on it, but out-of-tree. 2020-03-25T14:21:34Z gwatt: so if you had the library foo with chezscheme specific code, the file would be named "foo.chezscheme.sls" 2020-03-25T14:21:42Z zig: +1 2020-03-25T14:22:47Z erkin: gwatt: Yeah, that seems like the only option. 2020-03-25T14:23:00Z erkin: I was looking for an inline solution. 2020-03-25T14:23:20Z erkin: But I'm beginning to think it's not possible short for a nasty hack. 2020-03-25T14:23:28Z erkin: short of* 2020-03-25T14:24:08Z zig: how is it related to R7RS? 2020-03-25T14:25:25Z erkin: Not yet, I'm just trying to cover all bases first and foremost. 2020-03-25T14:26:16Z erkin: Maybe the file separation is a good thing, now that I think of it. 2020-03-25T14:26:22Z wasamasa: I wouldn't worry about it because it's unclear whether r7rs support in racket even supports loading up user-defined libraries 2020-03-25T14:26:50Z erkin: It means I can cleanly separate, say, R6RS and R7RS code, should I want to support both in a library. 2020-03-25T14:27:02Z ecraven: well, often you need only very small changes between Schemes, so separate files feel a bit heavy 2020-03-25T14:27:51Z erkin: Don't you think the distinction between R6RS and R7RS is big enough to justify it though? 2020-03-25T14:29:19Z erkin: Also I'm dismayed to find out SLIB's `cond-expand' implementation doesn't declare a 'slib symbol in `(slib:features)'. 2020-03-25T14:29:45Z erkin: I wanted to be able to do, say, `(cond-expand (slib (require 'srfi-1)) ...)'. 2020-03-25T14:30:25Z gwatt: I think cond-expand in slib and srfi 0 are different from cond-expand in r7rs 2020-03-25T14:30:37Z mdhughes: In my own application code, except for error handling and a couple other parts, there's zero code changes. My support library is maybe 10-20% different. 2020-03-25T14:31:11Z mdhughes: My FFI code is 100% different, of course. 2020-03-25T14:32:18Z erkin: gwatt: Ideally, I'd want to keep it simple in the form of a barebones preamble at the top of the page, which I think works with all implementations of `cond-expand'. Although it'd definitely be nice to inline implementation-specific code in procedures and macros. 2020-03-25T14:32:40Z erkin: I really like CL's #+/#- read macros. 2020-03-25T14:33:05Z erkin: s/page/file/ 2020-03-25T14:36:58Z badkins joined #scheme 2020-03-25T14:37:46Z erkin: Unrelated: There's now a Scheme group on Discord, in case anyone here uses that godforsaken webapp. 2020-03-25T14:38:35Z erkin: I utterly despise Discord but I have to use it because my friends do, so I figured I might as well chat about Scheme whilst I'm there. 2020-03-25T14:39:06Z erkin: https://discord.gg/qykVk5q 2020-03-25T14:39:18Z mdhughes: Discord means violent disagreement. 2020-03-25T14:39:39Z wasamasa: that explains some things 2020-03-25T14:39:52Z erkin: Hey, I'm a Discordian. ;-) ...just not in this sense. 2020-03-25T14:40:33Z mdhughes: I think they intended to name it Discourse or some such, but didn't speak English well enough. 2020-03-25T14:40:44Z erkin: I thought it was a pun on Slack. 2020-03-25T14:41:07Z erkin: Slack is a core SubGenius concept and the Church of SubGenius is closely tied to Discordianism. 2020-03-25T14:41:13Z erkin: Maybe I'm overthinking it. 2020-03-25T14:41:52Z gwatt: My D&D groups use discord playing online, and it works well enough. 2020-03-25T14:45:02Z erkin: I think it's fine for gaming stuff but it gets really tiresome for daily text chat use. 2020-03-25T14:46:50Z kritixilithos joined #scheme 2020-03-25T14:47:01Z erkin: I gotta go now. Ciao. 2020-03-25T14:47:08Z mdhughes: Yeah, I use it for my ESO guilds, and rarely for online RPG play if not everyone's up to Roll20, but I wouldn't use it for anything less ephemeral. 2020-03-25T14:47:31Z gwatt: We use roll20 for the maps and discord for the audio 2020-03-25T14:58:32Z SGASAU quit (Read error: Connection reset by peer) 2020-03-25T15:02:47Z SGASAU joined #scheme 2020-03-25T15:05:01Z brendyyn quit (Ping timeout: 264 seconds) 2020-03-25T15:08:10Z TCZ joined #scheme 2020-03-25T15:10:01Z johncob quit (Remote host closed the connection) 2020-03-25T15:10:16Z johncob joined #scheme 2020-03-25T15:19:09Z SGASAU` joined #scheme 2020-03-25T15:21:48Z luni joined #scheme 2020-03-25T15:22:34Z SGASAU quit (Ping timeout: 240 seconds) 2020-03-25T15:26:06Z SGASAU` quit (Remote host closed the connection) 2020-03-25T15:26:21Z SGASAU` joined #scheme 2020-03-25T15:33:42Z tryte_ joined #scheme 2020-03-25T15:34:23Z tryte quit (Ping timeout: 240 seconds) 2020-03-25T15:38:57Z klovett quit (Remote host closed the connection) 2020-03-25T15:43:50Z drakonis joined #scheme 2020-03-25T15:44:14Z zaifir: There are definitely better alternatives to Discord. Don't encourage it! 2020-03-25T15:58:05Z jcowan: at all times refer to it as "Discard", that should help 2020-03-25T15:58:21Z jcowan: do not, however, refer to your fellow conspirators as "Bruce". 2020-03-25T16:01:24Z klovett joined #scheme 2020-03-25T16:06:29Z jao quit (Remote host closed the connection) 2020-03-25T16:12:18Z tryte_ quit (Remote host closed the connection) 2020-03-25T16:12:30Z tryte joined #scheme 2020-03-25T16:13:14Z CyDefect joined #scheme 2020-03-25T16:14:03Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-25T16:24:58Z hugh_marera joined #scheme 2020-03-25T16:26:19Z jao joined #scheme 2020-03-25T16:31:59Z tryte quit (Remote host closed the connection) 2020-03-25T16:32:30Z tryte joined #scheme 2020-03-25T16:36:54Z longshi joined #scheme 2020-03-25T16:39:55Z kritixilithos joined #scheme 2020-03-25T16:41:17Z ArthurStrong quit (Quit: leaving) 2020-03-25T16:46:58Z spectrumgomas[m] quit (Ping timeout: 256 seconds) 2020-03-25T16:46:58Z gwatt quit (Ping timeout: 256 seconds) 2020-03-25T16:47:32Z siraben quit (Ping timeout: 256 seconds) 2020-03-25T16:47:32Z Gnuxie[m] quit (Ping timeout: 256 seconds) 2020-03-25T16:50:35Z Gnuxie[m] joined #scheme 2020-03-25T16:51:46Z TCZ quit (Quit: Leaving) 2020-03-25T16:52:13Z badkins quit (Remote host closed the connection) 2020-03-25T16:52:52Z badkins joined #scheme 2020-03-25T16:53:57Z longshi quit (Quit: WeeChat 2.7.1) 2020-03-25T16:55:50Z badkins quit (Remote host closed the connection) 2020-03-25T16:55:59Z badkins joined #scheme 2020-03-25T17:03:48Z spectrumgomas[m] joined #scheme 2020-03-25T17:06:23Z siraben joined #scheme 2020-03-25T17:06:43Z jao quit (Remote host closed the connection) 2020-03-25T17:07:08Z zig quit (Quit: WeeChat 1.9.1) 2020-03-25T17:07:26Z zig joined #scheme 2020-03-25T17:11:43Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-25T17:15:52Z SGASAU` quit (Remote host closed the connection) 2020-03-25T17:16:16Z SGASAU` joined #scheme 2020-03-25T17:22:37Z kritixilithos joined #scheme 2020-03-25T17:22:48Z jao joined #scheme 2020-03-25T17:26:05Z whiteline_ quit (Remote host closed the connection) 2020-03-25T17:26:44Z whiteline joined #scheme 2020-03-25T17:31:10Z ofc joined #scheme 2020-03-25T17:34:31Z jobol quit (Quit: Leaving) 2020-03-25T17:39:27Z gwatt joined #scheme 2020-03-25T17:45:43Z dto joined #scheme 2020-03-25T17:46:54Z SGASAU` quit (Ping timeout: 240 seconds) 2020-03-25T17:47:59Z SGASAU` joined #scheme 2020-03-25T17:50:37Z ggole quit (Quit: Leaving) 2020-03-25T17:51:45Z f8l quit (Remote host closed the connection) 2020-03-25T17:51:59Z pflanze joined #scheme 2020-03-25T17:53:00Z f8l joined #scheme 2020-03-25T17:55:21Z badkins quit (Remote host closed the connection) 2020-03-25T17:55:30Z skapata joined #scheme 2020-03-25T17:55:51Z badkins joined #scheme 2020-03-25T18:00:14Z badkins quit (Ping timeout: 240 seconds) 2020-03-25T18:05:24Z luni quit (Remote host closed the connection) 2020-03-25T18:10:02Z ear-the-art quit (Ping timeout: 258 seconds) 2020-03-25T18:13:46Z ear-the-art joined #scheme 2020-03-25T18:14:29Z zmt01 joined #scheme 2020-03-25T18:16:49Z zmt00 quit (Ping timeout: 246 seconds) 2020-03-25T18:31:16Z badkins joined #scheme 2020-03-25T18:32:23Z kritixilithos quit (Ping timeout: 240 seconds) 2020-03-25T18:35:24Z luni joined #scheme 2020-03-25T18:39:57Z aeth: Discord is basically a black hole for information because it is absolute trash in searching or reading the backlog of an active channel past yesterday. It neither remembers your place nor starts you at the bottom, it starts you like 8 hours back and gives up, giving you no useful starting point. 2020-03-25T18:40:24Z aeth: Sure, it's fine for throwaway gaming conversations of no value, but I'd hate to have a technical discussion there. For one, anything I say will never be seen again, while with IRC I've sometimes grepped stuff from years ago. 2020-03-25T18:41:26Z aeth: If I accidentally said something useful on Discord, there's no way I'm finding it again. You can't even search one channel if you know it's in that channel, you have to search all of them, iirc. 2020-03-25T18:42:25Z zaifir: aeth: Correction: Due to their terrible privacy policy, we can only know that anything you say will never be seen by *you* again. :) 2020-03-25T18:44:40Z aeth: zaifir: I mean, the same thing applies to IRC. I'm sure the NSA probably has my logs from 2001-2004 that I no longer have. 2020-03-25T18:44:46Z aeth: well, at least 2002-2004 2020-03-25T18:45:09Z aeth: They're probably on some tapes in some basement since they're old, but I doubt they're discarded. IRC wasn't encrypted until like 10 years ago 2020-03-25T18:45:33Z aeth: Now, actually accessing the unecrypted IRC traffic and turning it into comprehensible logs would be quite the task, even for the NSA 2020-03-25T18:46:26Z zig: or they can join the channel. 2020-03-25T18:46:32Z zig: or wget the logs 2020-03-25T18:46:42Z zig: at least for #scheme 2020-03-25T18:46:48Z aeth: Right, or tap into the Freenode backend, etc. 2020-03-25T18:47:01Z aeth: My point is, privacy isn't the reason to use IRC. :-) 2020-03-25T18:47:25Z aeth: I guess Freenode permits Tor connections, though. I wouldn't be surprised if Tor was backdoored, though. 2020-03-25T18:48:37Z zig: there is FUD along the lines of TOR is backdoored. The thing is you can do little in the cyberspace that has any impact, you need physical interaction, and that is much more subject to eavesdropping. 2020-03-25T18:49:59Z aeth: Anyway, you have to assume that even a channel without public logs (this has them) that is invite only and that everyone connects via port 7000 encrypted IRC is probably "public" to someone with sufficient resources. 2020-03-25T18:50:01Z jcowan: If you want to engage in secret communication, I suggest using 15th Century methods 2020-03-25T18:50:12Z Riastradh: Like dying of plague? 2020-03-25T18:50:12Z klovett quit 2020-03-25T18:50:23Z aeth: writing backwards like davinci? 2020-03-25T18:50:24Z jcowan: Not that kind of information. 2020-03-25T18:51:21Z jcowan: Meeting in person in a large open field where you can see anyone coming for a long way off, and keeping your voices down, Dawn is a good time. The only modernization is to make sure no drones are watching you and hiding in the Sunglare. 2020-03-25T18:51:50Z klovett joined #scheme 2020-03-25T18:51:56Z Riastradh: meetings in person are bad during covid19 2020-03-25T18:52:05Z zig: sufficient resources: things like discord make it very easy to connect the dots. After a week, twitter figured I am a coder, even if I do not follow programming related subjects. 2020-03-25T18:52:26Z aeth: jcowan: Yeah, but if you do that now you've probably moved from "nothing you say is private because everything is logged somewhere" to "a human is now interested in seeing what you in particular have to say" 2020-03-25T18:52:33Z SGASAU`` joined #scheme 2020-03-25T18:53:03Z jcowan: Riastradh: Yes, or during the plague years either. Can't have everything. 2020-03-25T18:53:09Z Riastradh: (anyway, may I suggest that the topic drift from vague FUD about privacy back to Scheme?) 2020-03-25T18:53:38Z aeth: Riastradh: but we have to plot the secret additions to r7rs-extra-large that we will force on the Schemers 2020-03-25T18:53:40Z jcowan: But adding encrypted information to a virus isn't a bad idea either. 2020-03-25T18:54:56Z aeth: I think r7rs-extra-large should include a complete implementation of the latest JavaScript standrd, under (scheme ecmascript) 2020-03-25T18:55:36Z ear-the-art quit (Ping timeout: 256 seconds) 2020-03-25T18:55:56Z zig: anyone familiar with cryptography algorithms can tell me how I can predict the size of a message that will be transfered over UDP? 2020-03-25T18:56:02Z zig: if that is even doable? 2020-03-25T18:56:12Z Riastradh: zig: With what cryptosystem? 2020-03-25T18:56:34Z SGASAU` quit (Ping timeout: 240 seconds) 2020-03-25T18:56:42Z sammich quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 2020-03-25T18:56:44Z zig: I read there is stream based and block based crypto algorithm, I guess I need a block based, but does the block means "n times the block size" and how to figure it n 2020-03-25T18:56:49Z Riastradh: For, e.g., symmetric-key authenticated encryption, you'll usually have between 16 and 48 bytes of overhead, depending on the cryptosystem. 2020-03-25T18:56:51Z ear-the-art joined #scheme 2020-03-25T18:57:22Z zig: there is also an overhead indeed. 2020-03-25T18:58:14Z Riastradh: zig: But the first step before you can pick a cipher is to identify the higher-level goals. What are you trying to accomplish, with what resources? Online conversation between two parties on the internet who can do an active key agreement? Anonymous drop box from activist to jouranlist? 2020-03-25T18:58:33Z zig: I have no particular crypto system in mind as of yet. 2020-03-25T18:58:48Z zig: I will answer that question in a moment. 2020-03-25T18:59:22Z Riastradh: (you should also generally forget about `stream ciphers' vs `block ciphers'; it's not a helpful classification for the purposes of application development) 2020-03-25T18:59:32Z zig: ok 2020-03-25T19:00:34Z zig: The idea is I have this peer-to-peer application, at the moment UDP packets are not encrypted at all. 2020-03-25T19:00:57Z zig: you can imagine that it is a online conversation system between two parties. 2020-03-25T19:01:17Z zig: There is no prior agreement. 2020-03-25T19:01:28Z Riastradh: Also set aside `encryption' for the moment; start by writing down what you're positively trying to accomplish, and what powers an adversary may have to disrupt you, and _afterward_ you can worry about cryptographic details like `encryption' or `authentication'. 2020-03-25T19:01:33Z pilne joined #scheme 2020-03-25T19:02:35Z zig: the idea is to make it harder for someone to eavesdrop on what a particular peer does, and forcing them to do a MITM to listen to the communication of a particular peer or the whole network. 2020-03-25T19:03:04Z Riastradh: So, step 1: Who are the legitimate parties, and what resources do they have at their disposal, and what are they trying to accomplish? 2020-03-25T19:03:08Z klovett quit 2020-03-25T19:03:43Z zig: legitimate parties are two peers from the p2p network, that wants to exchange messages to have a short conversation. 2020-03-25T19:03:48Z Riastradh: (not what you're trying to _prevent_ someone from accomplishing -- that will come later; start with what you want to _enable_ the legitimate parties to accomplish) 2020-03-25T19:04:19Z klovett joined #scheme 2020-03-25T19:04:51Z zig: The peers exchange messages in a conversation, it is sort of a RPC mechanic over UDP. So peer A send a procedure name with arguments, peer B replies with return value. 2020-03-25T19:04:53Z Riastradh: OK. Is `the p2p network' the internet, or an existing network on top of the internet, or what? 2020-03-25T19:05:05Z zig: yes it is the internet. 2020-03-25T19:05:19Z Riastradh: Do the parties know anything about one another beforehand? 2020-03-25T19:05:31Z zig: no, they do not know each other. 2020-03-25T19:05:43Z zig: they are put into relation by other peers. 2020-03-25T19:05:48Z zig: via the network. 2020-03-25T19:07:11Z Riastradh: How do they participate in the network, then? Do they pick IP addresses out of a hat and hope that there's a peer there? 2020-03-25T19:07:25Z zig: They know each others IP and PORT 2020-03-25T19:07:38Z Riastradh: So they _do_ know something about one another beforehand? 2020-03-25T19:07:53Z zig: yes, sorry, only the IP and PORT. 2020-03-25T19:08:21Z Riastradh: Why is it limited to IP address and port? What about, say, another kind of name? 2020-03-25T19:09:11Z Riastradh: That is: is it a _design goal_ that the IP address and port be part of the user interface here, or is that just what you're imagining so far but really any reasonably small identifying string will serve? 2020-03-25T19:09:57Z zig: IP and PORT are a also associated with a random bytevector that must be globally unique. The p2p network, is a distributed hash table. 2020-03-25T19:10:07Z zig: s/must/should/ 2020-03-25T19:10:28Z Riastradh: (for example, would it be reasonable to assume that a user knows a string like `tawhc6ltmlbv5krwhhjhdyejbimo2tdwfwynuaurvgyxzfek5wfuueyd.onion' instead of an IP address and port?) 2020-03-25T19:11:02Z zig: Riastradh: no, the IP and PORT are not necessarly part of the user interface, but in the end users might enter IP:PORT to bootstrap the network. Yes aboout stuff.onion. 2020-03-25T19:13:18Z Riastradh: OK. What are the characteristics of the conversations you will have? Size of messages, duration of conversation, latency, ...? 2020-03-25T19:15:15Z zig: latency is below 5s or something like that, It is slow. Size of message is the big question it is limited by what UDP can reliably transport. Duration of the conversation, short taking into account the latency. A conversation is "a request, then a reply". 2020-03-25T19:15:44Z wasamasa: mtu size is a reasonable estimate for a udp packet 2020-03-25T19:15:55Z zaifir: I think the question was more general. What does this system do? 2020-03-25T19:16:05Z wasamasa: 1500 bytes to work with 2020-03-25T19:16:56Z Riastradh: zig: So this is meant to be a single request and single response -- no back-and-forth to set up a conversation and then many messages exchanged in the conversation before closing it? 2020-03-25T19:17:05Z SGASAU`` quit (Remote host closed the connection) 2020-03-25T19:17:11Z Riastradh: In other words, more like a DNS query than like a TLS session? 2020-03-25T19:17:31Z SGASAU`` joined #scheme 2020-03-25T19:17:50Z zig: Riastradh: I do not know DNS protocol, but yes with the rest. 2020-03-25T19:18:32Z zig: possibly they can be several messages per request, if the message is bigger than the MTU (UDP datagram max size) 2020-03-25T19:18:39Z zig: ? 2020-03-25T19:19:17Z zaifir: zig: It's hard to understand what kind of communication you're trying to enable. Is this a system for sending something like email? 2020-03-25T19:19:23Z Riastradh: zig: OK. I have to run but here's some brief suggestions: 2020-03-25T19:20:18Z Riastradh: 1. You'll have to identify a threat model here. A quick start would be that the adversary has the power to eavesdrop on and intercept traffic on the network between the peers, but you will presumably also want to model malicious peers too. 2020-03-25T19:22:27Z Riastradh: 2. You should study the design of DNSCurve, and you should look into the Noise framework. (You don't have to use either of them directly, of course, but the designs are relevant.) 2020-03-25T19:23:31Z Riastradh: You should also think about key erasure: if a peer's device is compromised, what past ciphertexts can it decrypt? (This is what systems like the Signal double-ratchet are designed to address: derive a new key in each message so you can promptly erase the old keys.) 2020-03-25T19:23:35Z Riastradh *poof* 2020-03-25T19:26:10Z zig: thanks! 2020-03-25T19:26:46Z kritixilithos joined #scheme 2020-03-25T19:29:40Z partyclicker joined #scheme 2020-03-25T19:29:55Z kritixilithos quit (Remote host closed the connection) 2020-03-25T19:30:30Z partyclicker quit (Remote host closed the connection) 2020-03-25T19:31:18Z zig: zaifir: I am building a distributed-hash-table, it is unlike anything I have built before. It is not like email. 2020-03-25T19:31:31Z zig: I guess I can some of DNSCurve ideas. 2020-03-25T19:32:32Z kritixilithos joined #scheme 2020-03-25T19:32:32Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-25T19:32:33Z zaifir: zaifir: I mean, a DHT is a data structure, which people presumably use to do something. 2020-03-25T19:32:58Z rbarraud|2 joined #scheme 2020-03-25T19:33:10Z zig: https://en.wikipedia.org/wiki/DNSCurve 2020-03-25T19:33:47Z zig: I am still thinking about what I will do with it. 2020-03-25T19:34:10Z ear-the-art quit (Remote host closed the connection) 2020-03-25T19:34:53Z kritixilithos quit (Client Quit) 2020-03-25T19:35:22Z zaifir: zig: It might be easier to make implementation decisions if you know that! 2020-03-25T19:37:58Z partyclicker joined #scheme 2020-03-25T19:39:33Z zig: I have an idea what I want to do, I call it a civkit for "civilization kit", I have sort of an idea how I want to implement it using a DHT, but most of it is still blurry. 2020-03-25T19:39:49Z zig: Like I would like to build a wiki on it and other stuff. 2020-03-25T19:39:54Z SGASAU``` joined #scheme 2020-03-25T19:40:19Z zaifir: zig: Sounds like a vast project. 2020-03-25T19:40:25Z zig: like a microblogging like application... 2020-03-25T19:40:37Z zig: yeah, I know it is a vast project, that is why I tried to avoid the subject. 2020-03-25T19:42:50Z zig: afaik there is no similar project around, and certainly not peer-to-peer distributed. 2020-03-25T19:43:19Z SGASAU`` quit (Remote host closed the connection) 2020-03-25T19:45:06Z wasamasa: gnunet is looking for people who implement applications 2020-03-25T19:45:55Z zaifir: zig: Maybe it would be useful to focus on one easy application to get running, e.g. chat. Trying to implement a wiki framework, microblogging, etc., might make it an endless task with no clear starting point. 2020-03-25T19:48:58Z ear-the-art joined #scheme 2020-03-25T20:00:12Z aeth: right 2020-03-25T20:00:20Z aeth: the wiki is the bloat you add on at the end to anything networked. :-) 2020-03-25T20:00:42Z aeth: Start from the simplest. 2020-03-25T20:01:16Z aeth: zig: There has been some p2p stuff in the other Lisp channels, mostly Common Lisp. 2020-03-25T20:01:30Z aeth: I think one of them is trying to embed a Scheme now, though 2020-03-25T20:01:40Z zig: zaifir: I am looking for an endless task. 2020-03-25T20:01:47Z johncob_ joined #scheme 2020-03-25T20:01:49Z zig: zaifir: I also considered a scheme os, but a) #loko is doing that already b) i have no clue how to proceed. 2020-03-25T20:01:53Z aeth: zig: If you want an endless task, make a game engine. 2020-03-25T20:02:17Z wasamasa: lol #lispgames 2020-03-25T20:02:19Z aeth: It was my first serious project and it will be my last serious project, and in the mean time I'm going to be releasing like 10 other projects. :-p 2020-03-25T20:02:20Z zig: aeth: yes, I considered that also, but I am not much a gamer person. 2020-03-25T20:02:35Z aeth: eh, not being a gamer is a good thing as far as game engine dev goes 2020-03-25T20:02:41Z aeth: gamers spend too much time playing games 2020-03-25T20:02:47Z zig: true. 2020-03-25T20:03:08Z aeth: gamedev and especially game engine dev is completely unrelated to gaming as far as the skills involved, and both compete for your free time 2020-03-25T20:03:09Z wasamasa: I don't play nearly well enough to make a compelling game 2020-03-25T20:03:26Z wasamasa: I'd be too fed up if it was anywhere near challening 2020-03-25T20:03:36Z SGASAU``` quit (Ping timeout: 256 seconds) 2020-03-25T20:04:07Z aeth: wasamasa: eh, that's actually refreshing 2020-03-25T20:04:21Z wasamasa: I still haven't finished Limbo 2020-03-25T20:04:28Z aeth: wasamasa: gamedevs usually want to make ultrahardcore permadeath roguelikes that are more of a job than a game, and that no one plays but other roguelike gamedevs 2020-03-25T20:04:33Z zaifir: aeth: Well, it helps to know what kind of games you like if you're coming up with an idea. 2020-03-25T20:04:42Z johncob quit (Ping timeout: 260 seconds) 2020-03-25T20:04:42Z aeth: wasamasa: a not-challenging game might actually find mass appeal 2020-03-25T20:04:58Z zig: wasamasa: yes, I had a look at gnunet, it turns out I will not use it. 2020-03-25T20:05:04Z wasamasa: aeth: well, these tend to have cutesy animations and cheap addiction factor instead 2020-03-25T20:05:18Z wasamasa: aeth: ever taken a look at what people in the subway play? 2020-03-25T20:05:36Z aeth: zaifir: Yes, but most people (at least, born in the 1970s or later) have childhood memories of games they enjoyed that they could use as inspiration even if they don't currently game, which come to think of it might be why so many indie games are 80s-style 2020-03-25T20:05:47Z aeth: that and those games are easier to make 2020-03-25T20:06:25Z aeth: wasamasa: eh, entering mobile gamedev is not a game you want to play... more of a slot machine design than game design 2020-03-25T20:06:31Z wasamasa: yes, exactly 2020-03-25T20:06:49Z aeth: wasamasa: mobile gamedev is actually not small team, either. You need to release like 200 games in parallel and scrap 199 of them that don't take off 2020-03-25T20:07:03Z aeth: Like, Valve is 300 people and mobile companies are easily in the thousands. 2020-03-25T20:07:14Z wasamasa: I enjoy some of the simpler things made for that form factor, like the early flashgames where you try launching some living thing as far as possible 2020-03-25T20:07:28Z aeth: yeah 2020-03-25T20:07:38Z aeth: I loved browser games before Facebook, before Zynga. 2020-03-25T20:07:50Z aeth: Both kinds of browser games... the action-style Flash ones and the slower-paced, MMO-like PHP ones. 2020-03-25T20:08:04Z wasamasa: browser games made me wake up on time during school :> 2020-03-25T20:08:48Z wasamasa: you got up a bit earlier, spent a few minutes shuffling resources around, then forgot about the game again 2020-03-25T20:09:06Z aeth: absolutely 2020-03-25T20:09:20Z aeth: back before free to play waiting resource games were weaponized by companies like EA 2020-03-25T20:09:44Z aeth: I mean, back in the day, you could pay to skip, but that was very limited, like maybe a $20 donation to someone's side gig website project to pay for the bandwidth. 2020-03-25T20:09:51Z aeth: Not like, how deep are your pockets? Give everything! 2020-03-25T20:10:29Z zaifir: aeth: I think most people who are passionate about making x tend to also spend a lot of time looking at xs other people have made. And they also tend to be extremely opinionated. 2020-03-25T20:10:38Z aeth: wasamasa: Too bad they only really existed from like 2000-2008 or so. So many people do not have the experience of waiting games that aren't predatory. 2020-03-25T20:10:58Z aeth: The games were designed for you to check once a day. They weren't designed to make you feel unhappy with your life unless you paid to play longer than once a day. 2020-03-25T20:11:48Z aeth: zaifir: Games are an interesting case, though, because over the past 10 years I've basically gone between playing games and making games, and rarely can I do both at the same time due to how limited things are. 2020-03-25T20:12:09Z aeth: The only exception is probably iterating fast on MP mods/maps/etc., where you spend a few hours writing and then a few hours testing that day. 2020-03-25T20:12:45Z zaifir: Hmm. 2020-03-25T20:14:40Z aeth: But playtesting something multiplayer isn't really playing a game, it's more of a... take notes and try to make changes 2020-03-25T20:15:02Z aeth: There are some moments of amazing fun, but most of the time, you're wearing a different hat 2020-03-25T20:15:12Z wasamasa: have you tried any demoscening? 2020-03-25T20:15:49Z aeth: wasamasa: I'd try demoscening but the languages I use would probably use up 100 MB out of the allowed 4 KB before I even write one function. :-) 2020-03-25T20:16:05Z aeth: I mean, I suppose I'd have to write a compiler if I wanted to do that sort of thing. 2020-03-25T20:16:07Z wasamasa: well, pc demos don't have a draconic size limitation 2020-03-25T20:16:18Z wasamasa: but yeah, I'd consider doing that for the DOS stuff 2020-03-25T20:16:27Z aeth: Still, it would reduce to writing a compiler to really count as a "demo" 2020-03-25T20:16:29Z aeth: Imo. 2020-03-25T20:16:37Z wasamasa: https://ahefner.livejournal.com/20528.html 2020-03-25T20:16:39Z aeth: At least, if you wanted a high level language like Scheme as most of the work 2020-03-25T20:17:47Z aeth: wasamasa: I mean, yes, exactly. :-) 2020-03-25T20:18:03Z aeth: Assembler, not a compiler, I guess. 2020-03-25T20:18:18Z wasamasa: it's kind of hard to do anything high-level on a NES 2020-03-25T20:18:23Z wasamasa: maybe forth could work 2020-03-25T20:18:28Z wasamasa: I'd definitely not use BASIC 2020-03-25T20:19:48Z wasamasa: admittedly, I thought more of coding shaders and DSLs to control them 2020-03-25T20:20:13Z aeth: now that SPIR-V is a thing, I'm definitely writing a shader compiler 2020-03-25T20:20:19Z aeth: just... I'd need a reason to use Vulkan first 2020-03-25T20:20:45Z wasamasa: I've looked briefly into this opengl thing and don't understand it at all 2020-03-25T20:21:53Z aeth: OpenGL started out as a state machine, with the goal that anything that isn't hardware-excellerated could be done in the software. You would have an API like this: (begin-square) (point-1 0 0 0 0) (point-2 0 0 1 1) (point-3 1 1 0 0) (point-4 1 1 1 1) (end-square) 2020-03-25T20:22:25Z aeth: You could of course put this in a function or, in a Lisp, a macro, and have fanciness, but fundamentally it was working on some implicit hidden state. Also, you had stuff like matrix stacks to handle the transformations, but most matrices were provided 2020-03-25T20:23:04Z aeth: Then they added shaders and deprecated "immediate mode" because (1) they made the GPU programmable so you couldn't just call some functions and (2) it was really inefficient and high-latency to have a stack machine and to function-call everything instead of building buffers 2020-03-25T20:23:20Z aeth: (of course, the drivers were probably building hidden buffers anyway by that point) 2020-03-25T20:24:46Z aeth: wasamasa: So basically, OpenGL is the history of graphics programming, from circa 1990 (since it was the opening of SGI's GL, even though it was released in 1992 and PCs didn't really reliably get it until like 1999) until maybe 2010 or so when people gave up on the layers and layers of replacing the old way of doing things with new and made a clean break with Vulkan 2020-03-25T20:25:27Z aeth: hmm, more 2014 than 2010 2020-03-25T20:25:46Z aeth: s/excellerated/accelerated/ 2020-03-25T20:25:49Z aeth: had spreadsheets on the mind 2020-03-25T20:25:56Z zaifir: Heh. 2020-03-25T20:25:58Z wasamasa: I find it bizarre you can upload all kinds of objects to the gpu 2020-03-25T20:27:03Z wasamasa: kind of like putting state into gui widgets 2020-03-25T20:27:15Z wasamasa: or pieces of text in your emacs buffer 2020-03-25T20:27:41Z aeth: that's the thing, though, it's more efficient to upload a giant buffer to the GPU and leave it there... unless you say that that buffer can be updated, in which case it will probably only upload a diff or whatever 2020-03-25T20:28:07Z aeth: it matters more and more over time, with slower (relative to the CPU/GPU) memory and larger textures/etc. 2020-03-25T20:28:44Z aeth: what is BS, though, is how nvidia embraced a monopoly and then decided to cash in instead of driving the GPU market forward like they had been doing up until then 2020-03-25T20:29:06Z aeth: I mean, these days pretty much any powerful desktop starts at 16-32 GB RAM, but the best consumer GPU (out of almost everyone's budgets!) gives you 12 GB RAM on the GPU 2020-03-25T20:31:32Z aeth: so you can't even transfer everything that your computer is capable of loading 2020-03-25T20:43:17Z aeth: Anyway, my original point is that it's basically just endless depth with no end in sight if you look into things like this. And you don't even need any graphics at all. Just some text adventure could get arbitrarily complicated, too. E.g. do you want NLP for the commands? 2020-03-25T20:44:59Z bars0_ quit (Quit: leaving) 2020-03-25T20:45:40Z seepel joined #scheme 2020-03-25T20:46:38Z wasamasa: that reminds me of a particular roguelike 2020-03-25T20:48:09Z aeth: That's why most roguelikes are so graphically basic. You have freedom in worldbuilding and in the choice of non-action mechanics. Having to make art restricts your design. Compare D&D to a computerized RPG for the real extreme. 2020-03-25T20:48:21Z wasamasa: https://cataclysmdda.org/ 2020-03-25T20:55:52Z ear-the-art: skyrim has so many bugs its unreal 2020-03-25T20:56:43Z ear-the-art remembers the days of software Mesa GL right before 3dfx 2020-03-25T21:02:07Z CyDefect quit (Quit: Verlassend) 2020-03-25T21:02:27Z aeth: technically, OpenGL is still software-capable, it's just that it's not at the latest version. You still have e.g. https://www.mesa3d.org/llvmpipe.html 2020-03-25T21:02:54Z aeth: There are some independent software-rendering projects, too. LLVMpipe seems to only go up to 8 cores, but there are at least 2 that can take advantage of Epyc/Threadripper to almost get you a 10-year-old GPU experience. 2020-03-25T21:03:28Z nullus quit (Remote host closed the connection) 2020-03-25T21:03:47Z seepel quit (Ping timeout: 265 seconds) 2020-03-25T21:06:28Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-25T21:07:34Z ear-the-art: reference implementation =) 2020-03-25T21:08:02Z ear-the-art: hm interesting. i've got about a 10-year-old gpu 2020-03-25T21:08:11Z ear-the-art: but there's no room for any cpu =) 2020-03-25T21:08:57Z aeth: ear-the-art: yeah, and your literally worthless GPU can be replaced with a new CPU worth > $1000 that's less capable than a contemporary GPU that's worth < $1000 2020-03-25T21:09:05Z aeth: you should consider upgrading ;-) 2020-03-25T21:09:33Z aeth: A Threadripper 3990X is only $3990 2020-03-25T21:09:46Z ear-the-art: some day =) more ram first 2020-03-25T21:09:51Z ear-the-art: hah. 2020-03-25T21:09:51Z aeth: AMD is generous enough to lose $9 on every sale just for the name meming... 2020-03-25T21:10:00Z ear-the-art: how convenient -- they should always put the price as the model number 2020-03-25T21:10:14Z aeth: I mean, they kind of do that. 2020-03-25T21:10:20Z aeth: The model number is really just what price tier it falls in 2020-03-25T21:10:33Z aeth: At least, until you get the custom, OEM, etc. stuff involved. 2020-03-25T21:10:39Z aeth: Mobile also splits based on power vs. performance 2020-03-25T21:10:42Z ear-the-art: i can't imagine spending that much on a whole desktop, desk, chair, and headphones 2020-03-25T21:10:55Z ear-the-art: thats like 8 months rent. =P 2020-03-25T21:11:23Z aeth: I mean, for $3990 you have one component of a probably > $10,000 workstation, or you can get the entirety of two high-end desktops (except maybe the screens) 2020-03-25T21:12:18Z Zelphir joined #scheme 2020-03-25T21:15:19Z jcowan: When I was working at a company whose platform crunched massive amounts of data (tables with 100s of billions of rows), I asked why we didn't do computations on the GPU. The answer was basically that the CPU-GPU-CPU pipeline is so slow that it cancels out the GPU's speed. 2020-03-25T21:18:07Z ear-the-art: ew 2020-03-25T21:18:36Z ear-the-art: i may actually have to get into GPU compute for quantum things because i decided today to look into that. i thought quantum was a fashion 2020-03-25T21:21:56Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-25T21:26:44Z izh_ joined #scheme 2020-03-25T21:29:29Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-25T21:32:38Z daviid joined #scheme 2020-03-25T21:39:36Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-25T21:47:34Z TCZ joined #scheme 2020-03-25T21:51:09Z dozzie quit (Ping timeout: 268 seconds) 2020-03-25T21:51:40Z dozzie joined #scheme 2020-03-25T21:54:41Z izh_ quit (Quit: Leaving) 2020-03-25T21:57:36Z badkins quit (Remote host closed the connection) 2020-03-25T21:58:12Z badkins joined #scheme 2020-03-25T21:59:08Z lritter quit (Quit: Leaving) 2020-03-25T22:02:54Z badkins quit (Ping timeout: 256 seconds) 2020-03-25T22:19:29Z f8l quit (Ping timeout: 250 seconds) 2020-03-25T22:19:56Z badkins joined #scheme 2020-03-25T22:21:03Z f8l joined #scheme 2020-03-25T22:26:10Z hugh_marera quit (Quit: hugh_marera) 2020-03-25T22:26:51Z poga quit (Ping timeout: 250 seconds) 2020-03-25T22:27:46Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-25T22:29:01Z poga joined #scheme 2020-03-25T22:41:00Z Khisanth joined #scheme 2020-03-25T22:59:50Z lritter joined #scheme 2020-03-25T23:04:57Z Zelphir quit (Quit: Leaving) 2020-03-25T23:11:45Z TCZ2 joined #scheme 2020-03-25T23:14:14Z TCZ quit (Ping timeout: 240 seconds) 2020-03-25T23:14:17Z TCZ2 quit (Client Quit) 2020-03-25T23:14:39Z TCZ joined #scheme 2020-03-25T23:17:02Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-25T23:44:04Z lritter quit (Quit: Leaving) 2020-03-25T23:49:25Z TCZ quit (Quit: Leaving) 2020-03-25T23:55:40Z badkins quit (Remote host closed the connection) 2020-03-25T23:59:09Z f8l quit (Remote host closed the connection) 2020-03-26T00:00:27Z f8l joined #scheme 2020-03-26T00:04:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-26T00:09:28Z xelxebar joined #scheme 2020-03-26T00:27:46Z f8l quit (Remote host closed the connection) 2020-03-26T00:29:09Z f8l joined #scheme 2020-03-26T00:30:21Z deesix quit (Read error: Connection reset by peer) 2020-03-26T00:30:43Z badkins joined #scheme 2020-03-26T00:31:03Z deesix joined #scheme 2020-03-26T00:35:40Z f8l quit (Ping timeout: 258 seconds) 2020-03-26T00:36:42Z f8l joined #scheme 2020-03-26T00:41:18Z TCZ joined #scheme 2020-03-26T00:42:25Z luni quit (Remote host closed the connection) 2020-03-26T00:58:50Z brendyyn joined #scheme 2020-03-26T00:59:43Z f8l quit (Remote host closed the connection) 2020-03-26T01:00:59Z f8l joined #scheme 2020-03-26T01:10:25Z f8l quit (Ping timeout: 264 seconds) 2020-03-26T01:10:30Z stultulo joined #scheme 2020-03-26T01:10:52Z stultulo is now known as f8l 2020-03-26T01:12:20Z aeth: I'm finishing the (unoptimized) runtime, then it's back to the reader, then I'll finish the procedure list, and finally do the macros. 2020-03-26T01:12:25Z torbo joined #scheme 2020-03-26T01:12:36Z aeth: Functional programming is so unproductive. 2020-03-26T01:12:48Z aeth: I can stare at a screen for an hour and only change a few lines at the end of it. 2020-03-26T01:13:17Z drakonis quit (Ping timeout: 260 seconds) 2020-03-26T01:18:52Z aeth: Java or C++ is way more productive. I write many more lines. 2020-03-26T01:28:23Z belmarca: aeth you have been promoted to manager 2020-03-26T01:29:29Z aeth: belmarca: Thanks, my first act will be to get everyone to switch to this programming language that's like JavaScript but older (and thus more enterprise) with less syntax (saves money)... 2020-03-26T01:32:14Z belmarca: I am writing JavaScript atm. please don't make me hate it even more 2020-03-26T01:32:20Z brendyyn: You don't even need programming languages. Mega geniuses like John von Neumann thought you could just do your math on a whiteboard and get some clerks to type in your code. we should listen to our forefathers. 2020-03-26T01:32:58Z brendyyn: blackboard* i suppose. 2020-03-26T01:33:40Z aeth: belmarca: The joke is that if people say "JavaScript is like Scheme" then I can say that "Scheme is like JavaScript" 2020-03-26T01:33:48Z belmarca: please, stop 2020-03-26T01:33:52Z belmarca: I am about to throw up 2020-03-26T01:34:18Z aeth: brendyyn: Yes. Alternatively, you can do the opposite and directly program the machine (no asm, even). 2020-03-26T01:35:12Z belmarca: I get the impression that their promises are clunky syntax to try and make async code bearable 2020-03-26T01:36:37Z aeth: to be fair 2020-03-26T01:36:43Z aeth: Scheme is the language of call/cc 2020-03-26T01:37:04Z aeth: continuations are... weird. 2020-03-26T01:37:22Z belmarca: yet it's not at always clear what's a promise and what's not when reading code, and having to create promises myself is a sign of bad design from libraries 2020-03-26T01:37:36Z bsima quit (Read error: Connection reset by peer) 2020-03-26T01:37:58Z bsima joined #scheme 2020-03-26T01:38:25Z belmarca: aeth imagine if every single scheme library was full of call/cc 2020-03-26T01:38:34Z belmarca: that's what javascript feels like, to me 2020-03-26T01:38:45Z aeth: that's what it looks like, too 2020-03-26T01:39:09Z aeth: JavaScript looks like people having fun with certain concepts just because they can, which is also what Java is, but for Java it's way too much use of Design Patterns. 2020-03-26T01:39:18Z aeth: This of course seems inevitable. 2020-03-26T01:39:22Z zaifir: belmarca: Every library uses the current continuation! It's just usually a trivial use. 2020-03-26T01:39:31Z aeth: I'm guessing if everyone used Scheme, then every Scheme library would be full of call/cc 2020-03-26T01:39:50Z aeth: zaifir: trivial for you, not for me 2020-03-26T01:40:23Z belmarca: I suppose one gets used to it and it gets better, but my use is limited in scope and time (a few days/weeks every n months) and I just can't get around liking it. 2020-03-26T01:40:31Z belmarca: zaifir hah, but you said it, that's trivial. 2020-03-26T01:40:44Z belmarca: aeth: well the current continuation is implicit 2020-03-26T01:40:45Z zaifir: (+ 1 1) delivers the value 2 to the current continuation. Seems pretty easy! 2020-03-26T01:41:01Z aeth: belmarca: for you, not for me 2020-03-26T01:41:43Z aeth: zaifir: (+ 1 1) isn't as easy as it looks. Sure, it's easy for you, but that's because someone else's code is handling it :-p 2020-03-26T01:42:16Z belmarca: well when I complain about JS I don't mean it from an implementors point of view 2020-03-26T01:42:22Z zaifir: aeth: #t. My point is that continuations are omnipresent and not scary. 2020-03-26T01:42:34Z aeth: zaifir: for you. I hate them :-p 2020-03-26T01:42:46Z belmarca: the language just feels clunky 2020-03-26T01:44:15Z zaifir: aeth: ACK. Have you read Reynolds's paper, The Discoveries of Continuations? https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/reynolds-discoveries.pdf 2020-03-26T01:44:23Z zaifir: It clarified a lot for me. 2020-03-26T01:44:28Z aeth: zaifir: but that just adds more work :-p 2020-03-26T01:44:59Z aeth: zaifir: anyway, I was referring to continuations when I said "I can stare at a screen for an hour and only change a few lines at the end of it." 2020-03-26T01:45:06Z aeth: zaifir: continuations are a weird algebraic puzzle 2020-03-26T01:45:18Z zaifir: aeth: Indeed, but those who do not study history are bound to reimplement it. 2020-03-26T01:45:25Z aeth: I should probably be using pencil and paper more than staring... 2020-03-26T01:45:51Z zaifir: The continuation monad is still a puzzle to me, yes. 2020-03-26T01:46:00Z aeth: zaifir: the point here is to reimplement it 2020-03-26T01:46:40Z zaifir: aeth: Ah, right. How's that going? 2020-03-26T01:46:59Z belmarca: zaifir thanks for the pdf 2020-03-26T01:48:50Z aeth: From the paper... "When curried, the tail function is an environment mapping labels into command continuations" heh, yeah, I figured as much 2020-03-26T01:48:53Z aeth: that it's currying. 2020-03-26T01:49:04Z TCZ: multirember&co 2020-03-26T01:49:42Z aeth: I mean, a million functions of one variable, kinda looks like currying 2020-03-26T01:50:58Z P1RATEZ joined #scheme 2020-03-26T01:59:51Z twb joined #scheme 2020-03-26T01:59:56Z twb: Hey dumb question... 2020-03-26T02:00:06Z twb: I was reading https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/R7RSHomePage.md (requires js to see anything) 2020-03-26T02:00:15Z twb: it talks about "red edition" and "tangerine edition". 2020-03-26T02:00:31Z twb: does tangerine *replace* red, or is it supplemental? 2020-03-26T02:03:17Z stultulo joined #scheme 2020-03-26T02:04:32Z zaifir: twb: Supplemental. 2020-03-26T02:05:17Z twb: Thanks 2020-03-26T02:05:34Z f8l quit (Ping timeout: 240 seconds) 2020-03-26T02:05:34Z stultulo is now known as f8l 2020-03-26T02:05:59Z twb: Hrm, I installed git-remote-hg and I still can't clone that repo. "The requested URL returned error: 405" 2020-03-26T02:07:14Z twb: hg clone works though, so I guess the git/hg integration isn't as nice as I hoped 2020-03-26T02:08:17Z twb: Aha, "git clone hg::https://bitbucket.org/cowan/r7rs-wg1-infra/" also works 2020-03-26T02:13:37Z TCZ quit (Quit: Leaving) 2020-03-26T02:14:48Z badkins quit (Remote host closed the connection) 2020-03-26T02:15:49Z f8l quit (Ping timeout: 264 seconds) 2020-03-26T02:16:14Z badkins joined #scheme 2020-03-26T02:16:54Z f8l joined #scheme 2020-03-26T02:17:05Z seepel joined #scheme 2020-03-26T02:21:13Z badkins quit (Ping timeout: 264 seconds) 2020-03-26T02:27:21Z lockywolf_ joined #scheme 2020-03-26T02:27:39Z lockywolf_: Does it make sense to have uninterned pairs in scheme? 2020-03-26T02:31:11Z ofc quit (Ping timeout: 272 seconds) 2020-03-26T02:32:19Z stultulo joined #scheme 2020-03-26T02:33:43Z terpri quit (Remote host closed the connection) 2020-03-26T02:34:29Z terpri joined #scheme 2020-03-26T02:34:54Z f8l quit (Ping timeout: 240 seconds) 2020-03-26T02:34:54Z stultulo is now known as f8l 2020-03-26T02:35:01Z lockywolf__ joined #scheme 2020-03-26T02:36:38Z terpri quit (Remote host closed the connection) 2020-03-26T02:37:05Z terpri joined #scheme 2020-03-26T02:37:39Z lockywolf_ quit (Ping timeout: 260 seconds) 2020-03-26T02:43:34Z f8l quit (Ping timeout: 240 seconds) 2020-03-26T02:43:40Z stultulo joined #scheme 2020-03-26T02:44:01Z stultulo is now known as f8l 2020-03-26T02:44:54Z seepel quit (Ping timeout: 240 seconds) 2020-03-26T02:51:00Z Riastradh: lockywolf__: Usually pairs are uninterned; if they're mutable it would not do very well to intern them! 2020-03-26T02:51:14Z Riastradh: `Interned pairs' are sometimes called `hash conses'. 2020-03-26T02:59:46Z lockywolf__: Perhaps I asked a wrong question. 2020-03-26T03:00:27Z lockywolf__: I'm trying to solve sicp 5.51, and since it doesn't say anything about the implementation of (read), I'm improvising 2020-03-26T03:02:48Z lockywolf__: For example, I'm not very sure where to put the structures that (read) produces. 2020-03-26T03:03:49Z torbo quit (Ping timeout: 264 seconds) 2020-03-26T03:04:08Z lockywolf__: in particular, let's say (read) is reading (symbol . "string) 2020-03-26T03:04:50Z lockywolf__: Or better (symbol1 . (symbol2 . "string")) 2020-03-26T03:06:19Z lockywolf__: I probably have to place the outer pair under the garbage collector, that is put symbol1 into "the-cars(1)" and (symbol2 . "string") into "the-cdrs". 2020-03-26T03:06:36Z lockywolf__: But should I put it there "by reference" or "by value"? 2020-03-26T03:07:45Z lockywolf__: I mean, the-cdrs(1) could be 2, or it would be cons* 2020-03-26T03:08:46Z Riastradh: Why is read relevant? 2020-03-26T03:09:17Z lockywolf__: how woule you expect me to input scheme expressions? 2020-03-26T03:09:35Z lockywolf__: *would 2020-03-26T03:09:38Z Riastradh: Well, usually, you will write read in terms of operations like read-char to get input, and cons to construct the resulting objects. 2020-03-26T03:09:47Z Riastradh: There's no need for read to know anything about how cons works under the hood. 2020-03-26T03:11:07Z f8l quit (Ping timeout: 250 seconds) 2020-03-26T03:11:10Z torbo joined #scheme 2020-03-26T03:11:47Z Riastradh: Now, if you want to know what cons should do under the hood, that's fine -- I'm just puzzled about why read is involved in that question. 2020-03-26T03:12:07Z torbo quit (Remote host closed the connection) 2020-03-26T03:12:21Z f8l joined #scheme 2020-03-26T03:12:22Z torbo joined #scheme 2020-03-26T03:15:07Z lockywolf__: well, I should give _something_ to cons 2020-03-26T03:15:29Z lockywolf__: this _something_ should be a valid scheme object 2020-03-26T03:16:03Z lockywolf__: I am thinking how exactly I should make these scheme objects 2020-03-26T03:18:18Z lockywolf__: If I have no memory rather than cons memory, (read) has to have a way to make pairs without using cons 2020-03-26T03:18:41Z lockywolf__: *other 2020-03-26T03:20:48Z lockywolf__: because cons arguments are in the same memory 2020-03-26T03:21:34Z X-Scale quit (Ping timeout: 240 seconds) 2020-03-26T03:21:40Z X-Scale` joined #scheme 2020-03-26T03:22:27Z X-Scale` is now known as X-Scale 2020-03-26T03:22:34Z lockywolf__: so (read) for (sym1 . "string") actually means 1)put "sym1" into the-cars(1), 2)put "string" into the-cars(2), 3) call (cons 1 2) , or something like that 2020-03-26T03:23:04Z lockywolf__: or rather call low_level_cons( 1, 2) 2020-03-26T03:23:17Z lockywolf__: or something like that 2020-03-26T03:26:53Z d4ryus1 joined #scheme 2020-03-26T03:27:26Z lockywolf__: if strings and symbols are not in the main memory, I'd have to separately do garbage collection for them 2020-03-26T03:28:59Z d4ryus quit (Ping timeout: 260 seconds) 2020-03-26T03:35:34Z lockywolf__: (read) is incredibly tricky 2020-03-26T03:38:01Z Riastradh: lockywolf__: Why are you worried about how cons works under the hood, when you are writing read? 2020-03-26T03:38:04Z Riastradh: Step back a moment. 2020-03-26T03:38:11Z Riastradh: How would you write read, in ordinary Scheme? 2020-03-26T03:38:30Z seepel joined #scheme 2020-03-26T03:42:13Z gravicappa joined #scheme 2020-03-26T03:44:10Z lockywolf__: let me think. it is a good question 2020-03-26T03:47:17Z lockywolf__: the answer to your first question is the following: suppose I run (read) from the interpreter, and supply "hello" as input. It is not a list, and it is never stored inside a pair. Who and when would garbage-collect it? 2020-03-26T03:47:35Z Riastradh: Let me put it this way... 2020-03-26T03:47:43Z Riastradh: You are asking about two things: 2020-03-26T03:47:47Z Riastradh: 1. how to draw the letter `x' on a piece of paper 2020-03-26T03:47:55Z Riastradh: 2. how to engineer a fountain pen 2020-03-26T03:48:28Z Riastradh: You're asking about them as if you absolutely need to understand (2) how to engineer a fountain pen in order to (1) draw the letter `x' on a piece of paper. 2020-03-26T03:48:57Z Riastradh: Do you see why I am puzzled by this juxtaposition? 2020-03-26T03:52:54Z lockywolf__: okay, let's forget about cons at all 2020-03-26T03:53:48Z lockywolf__: Say, I (read) "hello". In ordinary scheme I would implement a this super-rudimentary (read) as (lambda (x) x). 2020-03-26T03:54:26Z lockywolf__: Or, rather (lambda () (read-string "x")) 2020-03-26T03:54:56Z lockywolf__: Or, rather (lambda () (read-string)) 2020-03-26T03:55:00Z seepel quit (Ping timeout: 258 seconds) 2020-03-26T03:55:26Z lockywolf__: (read-string) should put "x" somewhere. And someone should collect this "x" at some point. 2020-03-26T03:58:38Z torbo quit (Remote host closed the connection) 2020-03-26T03:59:07Z Riastradh: Let's say you write (make-string 1 #\x) instead of (read-string). Is your question any different then? 2020-03-26T03:59:20Z Riastradh: (I'm still not clear on whether you're asking about parsing, about reading input, or about garbage collection.) 2020-03-26T04:00:41Z pilne quit (Quit: Download IceChat at www.icechat.net) 2020-03-26T04:04:22Z lockywolf__: Good point. Let's have a look at (make-string 1 #\x). 2020-03-26T04:06:33Z lockywolf__: If I interprete (make-string 1 #\x) as (assign val (op low_level_make_string) "x" 1), then the string will end up in the "val" register. 2020-03-26T04:07:27Z lockywolf__: And unless the result of (val) is used afterwards, the pointer to "x" will be lost, and the string will never be deallocated. 2020-03-26T04:10:16Z Riastradh: `lost' meaning what, exactly? 2020-03-26T04:10:46Z Riastradh: The garbage collector's job is usually to make sure that memory for things which are _not_ referenced anywhere is freed up. 2020-03-26T04:11:02Z drakonis joined #scheme 2020-03-26T04:11:18Z Riastradh: If the val register still holds a reference to the string, then presumably it would be wrong for the garbage collector to recycle the memory for the string. 2020-03-26T04:11:38Z lockywolf__: Well, the garbage collector only cares about the cons memory. 2020-03-26T04:11:55Z Riastradh: If the val register is later changed because you do (assign val (constant 42)) or something, then perhaps the garbage collector will find that nobody is using that string, and can recycle the memory. 2020-03-26T04:14:35Z lockywolf__: The garbage collector as it is described in sicp, only works with cons memory. Of course I can make it do much beyond that, but that's exactly what I am trying to avoid. 2020-03-26T04:15:02Z Riastradh: Well, if you want to support make-string with dynamically allocated memory, you'd better be prepared to teach the garbage collector to recycle that memory... 2020-03-26T04:15:24Z lockywolf__: Rephrasing: in order for the garbage collector to recycle something, the garbage collector needs to know that this "something" exists. 2020-03-26T04:15:49Z Khisanth quit (Ping timeout: 264 seconds) 2020-03-26T04:15:56Z lockywolf__: Otherwise the first thing it would do is to recycle itself. 2020-03-26T04:17:13Z Riastradh: There's nothing magic that enables a garbage collector which knows only about cons memory work to handle every other data type as well. 2020-03-26T04:18:44Z lockywolf__: I think I can just put strings in the next free the-car. 2020-03-26T04:19:22Z Riastradh: There are usually two approaches: 2020-03-26T04:20:33Z Riastradh: 1. Treat every object requiring heap storage as a sequence of bytes: reserve (say) 16 bytes for a pair (8 bytes each for the car and cdr), 8 + n bytes for an n-byte string (8 bytes for the length and n for the content), &c. 2020-03-26T04:21:12Z Riastradh: - Then represent each object in a register by a 64-bit number, whose low-order 2 or 3 bits say something about its type -- e.g., bits 000 mean fixnum, bits 001 mean pair, bits 010 mean string, &c. 2020-03-26T04:21:53Z Riastradh: 2. Reserve separate regions of memory for different kinds of objects: one region for pairs, one region for strings, &c. 2020-03-26T04:23:09Z Riastradh: - Then represent each object in a register by a 64-bit number, whose _high-order_ bits (naturally) determine the region of memory, e.g. everything in [0x7F7FF5000000,0x7F7FF6000000) is a pair, everything in [0x7F7FF6000000,0x7F7FF7000000) is a string, &c. 2020-03-26T04:23:56Z Riastradh: (2) is sometimes called BIBOP for `big bag of pages'. 2020-03-26T04:24:59Z Riastradh: Either way, in a region of memory (whether the whole heap, or whether a BIBOP type-based region, or any other region in which you do allocation), 2020-03-26T04:25:11Z aeth: Riastradh: no, it's more clever than that 2020-03-26T04:25:29Z aeth: Riastradh: You can make 0 mean fixnum, not 000. 2020-03-26T04:25:41Z aeth: Then 001 is pair, 011 string, etc. 2020-03-26T04:26:05Z aeth: The infrequently used tags will be longer, but fixnums (very frequently used) will only have a one-bit tag 2020-03-26T04:26:38Z Riastradh: you use some mechanism for reserving the sequence of bytes to use as backing stores. For a stop & copy garbage collector, you can just keep a pointer to the end of the memory that's been reserved, and increment it every time you need more, until you run out and run the GC. 2020-03-26T04:27:44Z lockywolf__: I want to reuse type-tags from the underlying language. 2020-03-26T04:27:44Z Riastradh: aeth: Sure, there are many ways to allocate tags. 2020-03-26T04:28:04Z aeth: And for characters and single-precision floats and a few other things, you can give them the longest tags because it doesn't matter 2020-03-26T04:28:11Z aeth: stuff you know will be 32-bit 2020-03-26T04:28:11Z lockywolf__: It may be not at all memory-efficient or fast, but I want to kill two hares with one shot. 2020-03-26T04:28:15Z Riastradh: lockywolf__: OK, then why not reuse the garbage collector for the underlying language? 2020-03-26T04:28:19Z Riastradh: from 2020-03-26T04:28:20Z aeth: (32-bit or less, I mean) 2020-03-26T04:28:51Z lockywolf__: Riastradh, for strings and symbols? 2020-03-26T04:28:56Z lockywolf__: I want that too. 2020-03-26T04:29:02Z Riastradh: lockywolf__: So...what's left? 2020-03-26T04:29:08Z lockywolf__: cons memory 2020-03-26T04:29:14Z Khisanth joined #scheme 2020-03-26T04:29:17Z Riastradh: Why not reuse the cons memory from the underlying language too? 2020-03-26T04:29:22Z lockywolf__: the explicit-control part of eval/apply 2020-03-26T04:29:37Z Riastradh: I guess I'm kind of confused about what you're trying to accomplish here. 2020-03-26T04:30:14Z lockywolf__: I want to solve sicp 5.51 by carefully implementing the ideas proposed in the book, with minimum digressions. 2020-03-26T04:31:08Z Riastradh: Exercise 5.51. Develop a rudimentary implementation of Scheme in C (or some 2020-03-26T04:31:08Z Riastradh: other low-level language of your choice) by translating the explicit-control 2020-03-26T04:31:08Z Riastradh: evaluator of section 5.4 into C. In order to run this code you will need to 2020-03-26T04:31:08Z Riastradh: also provide appropriate storage-allocation routines and other run-time 2020-03-26T04:31:08Z Riastradh: support. 2020-03-26T04:31:10Z Riastradh: That one? 2020-03-26T04:31:15Z lockywolf__: yes 2020-03-26T04:31:58Z lockywolf__: and the garbage-collector for the cons memory is described in the chapter 5.3 2020-03-26T04:32:52Z lockywolf__: the world has enough scheme interpreters, but not enough reference solutions for the problems on which students can learn 2020-03-26T04:33:06Z lockywolf__: I only found one solution for 5.51 on the net 2020-03-26T04:34:23Z Riastradh: I'm not sure the kind of idiosyncratic model in 5.3 -- which was presumably designed just to be easy to implement on the kind of idiosyncratic register machine -- is a good match for exercise 5.51. 2020-03-26T04:35:15Z lockywolf__: a potential student will find it hard enough to deal with the content already in the book 2020-03-26T04:36:25Z lockywolf__: the idiosyncratic register machine is not that bad 2020-03-26T04:36:55Z Riastradh: Yes but the `the-cars / the-cdrs' memory model really doesn't lend itself to adding more data types like strings. 2020-03-26T04:38:02Z lockywolf__: that's why I am torturing you for the past hour with my stupid questions 2020-03-26T04:38:09Z Riastradh: (I'm not sure I've ever seen an actual implementation that resembles it, whereas most implementations resemble models (1) or (2) as I described above.) 2020-03-26T04:39:09Z d4ryus2 joined #scheme 2020-03-26T04:39:16Z lockywolf__: https://github.com/skanev/playground/blob/master/scheme/sicp/05/support/51/evaluator.c 2020-03-26T04:40:39Z lockywolf__: that's the only solution I found on the net 2020-03-26T04:40:41Z seepel joined #scheme 2020-03-26T04:40:58Z lockywolf__: the guy also has the solution for 4.79, but I think he's not really correct 2020-03-26T04:41:05Z lockywolf__: although I have nothing better 2020-03-26T04:41:29Z Riastradh: So, that garbage collector just doesn't recycle memory for anything other than pairs. 2020-03-26T04:41:58Z lockywolf__: yep 2020-03-26T04:42:07Z d4ryus1 quit (Ping timeout: 250 seconds) 2020-03-26T04:48:07Z lockywolf__: that chapter is actually bad 2020-03-26T04:48:50Z lockywolf__: they introduce (vector-ref) there, but there is actually no exercises that require using it. 2020-03-26T04:50:01Z seepel quit (Ping timeout: 264 seconds) 2020-03-26T04:51:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-26T04:53:58Z P1RATEZ quit 2020-03-26T05:09:28Z seepel joined #scheme 2020-03-26T05:13:46Z Jmabsd joined #scheme 2020-03-26T05:13:46Z Jmabsd quit (Changing host) 2020-03-26T05:13:46Z Jmabsd joined #scheme 2020-03-26T05:13:52Z Jmabsd: Hi everyone, here's an unsolicited, brief off-topic comment. 2020-03-26T05:13:57Z Jmabsd: This is not medical advice or anything, just some comments to stimulate you to doublecheck stuff. 2020-03-26T05:14:02Z Jmabsd: Regarding the current virus panic, the sensible numbers, which is the worldwide fatality stats from any country producing credible data (https://www.worldometers.info/coronavirus/ , sort in descending order of total deaths), you see that the alleged deaths indicate no significance whatsoever, compared to mortality by age or by any other reason. 2020-03-26T05:14:05Z Jmabsd: E.g., worldwide daily mortality stats are 26k for cancer, 4k for diabetes, 3k due to mosquitoes, etc. . Italy with its 60 million inhabitants should have a mortality of about 2k per day due to age. 2020-03-26T05:14:10Z Jmabsd: Still there looks like being a tiny bit of something. Sub-pages within www.vitamincfoundation.org and www.doctoryourself.com discuss safe strategies and I deduce that a daily 2 grams of vitamin C, maybe a tiny bit of zinc, imaginably a bit of quinine which you find in popular soda, help. Also, remember that the lactose in milk/yogurt/cream/icecream encourages flu by congesting the lymph system. 2020-03-26T05:14:13Z Jmabsd: Keep safe. 2020-03-26T05:16:16Z Riastradh: uh 2020-03-26T05:17:09Z Riastradh: When you've spent time working as front-line medical staff in a hospital overwhelmed by an onslaught of COVID-19 patients, maybe then you should open your mouth about this. 2020-03-26T05:18:57Z Riastradh: Otherwise, please keep quack punditry to yourself. 2020-03-26T05:24:12Z aeth: Riastradh: I'm unaware of the power of call/cc. If something is a Scheme primitive that doesn't involve continuations and thus is safe from being redefined, can I undo the continuation passing style transformation? e.g. (+ x (* y z)) and on that note, how about if some result depends on an external procedure like this? (+ x (* (foo 42) y)) 2020-03-26T05:24:46Z aeth: I suppose every built-in higher order function "involves" continuations even in this case 2020-03-26T05:25:11Z Jmabsd: Riastradh: ah sorry, i correlated it with the dimension of shutting down society, risking breaking the national economy etc 2020-03-26T05:25:39Z Jmabsd: sure indeed there are thousands of persons who are having terrible sufferings and stress. 2020-03-26T05:29:17Z f8l quit (Remote host closed the connection) 2020-03-26T05:29:49Z Riastradh: (If cancer suddenly went from causing 0 deaths per week to 1 per week to 2 per week to 4 per week to ... to 4096 per week over the course of three months, we'd be pretty fucking concerned about that too, and with COVID-19 the base of the exponential is much higher than 2.) 2020-03-26T05:30:31Z f8l joined #scheme 2020-03-26T05:31:11Z Riastradh: aeth: What's the context for the question? 2020-03-26T05:31:12Z aeth: Correct, dx/dt matters, not x 2020-03-26T05:31:26Z aeth: Riastradh: were you the one who posted a file about undoing CPS a while ago? 2020-03-26T05:31:52Z Riastradh: aeth: This? https://mumble.net/~campbell/tmp/20200209/cps.scm 2020-03-26T05:31:56Z aeth: possibly 2020-03-26T05:32:10Z Riastradh: It all depends on what you want to represent. 2020-03-26T05:33:19Z aeth: I only care about continuations insofar as they support call/cc and other parts of r7rs-small, r7rs-large, r7rs-supersized, etc. 2020-03-26T05:33:52Z Riastradh: If you're writing a compiler, and you want to have an explicit representation of the continuation of every unknown procedure call in your syntax tree, but you don't care about making it explicit for certain specific procedure calls, well, then you can skip it for those. 2020-03-26T05:34:21Z aeth: It is a compiler. 2020-03-26T05:34:29Z aeth: (source-to-source compiler) 2020-03-26T05:35:13Z aeth: I, naturally, don't want 7x overhead for (sqrt (+ (* x x) (* y y))) to use Wikipedia's example for CPS 2020-03-26T05:35:49Z Riastradh: In MIT Scheme, for instance, the compiler _will_ create an explicit continuation for (+ x y) even though it's a primitive procedure, because if the inputs aren't fixnums and aren't flonums then it will actually be implemented by a normal procedure call to a runtime hook. 2020-03-26T05:36:56Z aeth: I can't do that, I have benchmarks to win, off of the backs of the hard work of the real compiler authors who wrote the real compiler. 2020-03-26T05:37:04Z jao quit (Ping timeout: 256 seconds) 2020-03-26T05:37:40Z Riastradh: But, if you disable type checks, then it will not (exactly) create an explicit continuation for (car x) -- that will turn into a simple memory reference. 2020-03-26T05:38:18Z Riastradh: If you're using the cps.scm I linked above, it's up to you to choose between cps/app or cps/prim to construct a procedure call with or without a continuation, respectively. 2020-03-26T05:38:25Z Riastradh: You could, for example, do something like 2020-03-26T05:38:27Z Riastradh: (match exp 2020-03-26T05:38:31Z Riastradh: (`(,operator ,@operands) 2020-03-26T05:38:33Z Riastradh: (case operator 2020-03-26T05:38:54Z Riastradh: ((+ - / * ...) (cps/prim (cps/lit operator) (map cps-convert operands))) 2020-03-26T05:39:04Z Riastradh: (else (cps/app (cps-convert operator) (map cps-convert operands] 2020-03-26T05:39:43Z aeth: Why are type checks done at the moment of the function call for things that are probably inlined, like arithmetic? Lots of languages do this, actually. But is there anything stopping me from seeing (sqrt (+ (* x x) (* y y))) and placing a typecheck number? on x and y before the start? 2020-03-26T05:39:53Z aeth: I would probably use a hash table for primitives because there are quite a few 2020-03-26T05:40:42Z Riastradh: Sure, you could do that, but there are tradeoffs and limitations. 2020-03-26T05:41:01Z Riastradh: For example, consider: 2020-03-26T05:41:05Z Riastradh: (let ((v ...)) 2020-03-26T05:41:08Z Riastradh: (let loop ((i 0)) 2020-03-26T05:41:10Z Riastradh: (if (< i n) 2020-03-26T05:41:20Z Riastradh: (begin ... (vector-ref v i) ...) 2020-03-26T05:41:32Z Riastradh: (whatever)))) 2020-03-26T05:41:58Z Riastradh: It is tempting to say: `Aha! v must be a vector here. Therefore I will pull the type check out of the loop and do it once before the loop even begins.' 2020-03-26T05:42:13Z Riastradh: But this inference would be invalid, because if n is 0 there is nothing requiring v to be a vector. 2020-03-26T05:42:27Z Riastradh: What about (sqrt (+ (* x x) (* y y)))? 2020-03-26T05:42:45Z Riastradh: The main distinctions that MIT Scheme makes are for fixnum-only operations or flonum-only operations. 2020-03-26T05:43:07Z Riastradh: These are the only ones that it's really worthwhile to open-code, and only when they can actually be implemented by a couple of machine instructions. 2020-03-26T05:43:52Z Riastradh: Basically, MIT Scheme compiles (* x y) into the equivalent of (cond ((and (fixnum? x) (fixnum? y) (not (overflows*? x y))) (fix:* x y)) ((and (flonum? x) (flonum? y)) (flo:* x y)) (else (generic:* x y]. 2020-03-26T05:46:23Z drakonis quit (Ping timeout: 246 seconds) 2020-03-26T05:46:49Z Riastradh: So what should one do for (sqrt (+ (* x x) (* y y)))? Well, it is tempting to say -- there are only three cases, fixnum/flonum/generic, right? So dispatch for the whole expression: 2020-03-26T05:47:26Z Riastradh: (cond ((and (fixnum? x) (fixnum? y)) (fix:sqrt (fix:+ (fix:* x x) (fix:* y y)))) ((and (flonum? x) (flonum? y)) ...) (else (generic...))) 2020-03-26T05:47:44Z Riastradh: Except that's not quite right, because we need to back out and do the generic case if (fix:* x x) overflows, 2020-03-26T05:47:48Z Riastradh: or if (fix:* y y) overflows, 2020-03-26T05:47:58Z Riastradh: or if (fix:+ (fix:* x x) (fix:* y y)) overflows, 2020-03-26T05:48:06Z Riastradh: and actually we need to do it anyway because fix:sqrt isn't even a thing. 2020-03-26T05:51:19Z Riastradh: Can you do better than MIT Scheme does? Yes, absolutely. For example, if it's downstream of ->flonum, you could prove that the non-flonum branches are dead, and reduce that way. 2020-03-26T05:51:34Z Riastradh: And then you can recursively prove that the output of (flo:* x x) is also a flonum and prune more branches, and so on. 2020-03-26T05:53:24Z d4ryus2 is now known as d4ryus 2020-03-26T05:53:33Z Riastradh: What's difficult is designing a reasoning system that is both (a) capable of making these inferences, and (b) scalable to large programs, and maybe also (c) maintainable and flexible enough to change later on. 2020-03-26T05:55:26Z Riastradh: And the cost at compile-time has to yield a meaningful benefit at run-time. If you double compilation time and quadruple the memory used by the compiler, in order to shave off .01% of run-time for a microbenchmark, maybe that's not a good use of time. 2020-03-26T06:02:08Z terpri quit (Remote host closed the connection) 2020-03-26T06:02:08Z aeth: Riastradh: it's not as hopeless as it sounds, for numeric code 2020-03-26T06:02:44Z terpri joined #scheme 2020-03-26T06:02:46Z aeth: you could check for flonum and then do a bunch of operations, and the type inference can know that it's still flonum, and it can open code the whole thing 2020-03-26T06:03:37Z Riastradh: Sure. But you need a reasoning framework to decide where to actually do that fruitfully. 2020-03-26T06:04:36Z Riastradh: It's easy for you and me to look at an expression and say `yeah, it'd definitely be a good idea to do that with straight-line open-coded flonum arithmetic in this context'; writing the formal rules that the compiler follows to draw the same conclusion is another kettle of fish! 2020-03-26T06:15:35Z Riastradh: I drafted a few examples of this a year or two ago for MIT Scheme's compiler as a few afternoon hacks, but never got around to polishing it: https://git.savannah.gnu.org/cgit/mit-scheme.git/log/?h=riastradh-20181201-liarhacks https://git.savannah.gnu.org/cgit/mit-scheme.git/log/?h=riastradh-20181205-cse-invex 2020-03-26T06:17:41Z Riastradh: It all works at the level of a register transfer language that looks like 2020-03-26T06:17:42Z Riastradh: (label label-4455) 2020-03-26T06:17:43Z Riastradh: (assign (register #x20f) (object->type (register #x204))) 2020-03-26T06:17:43Z Riastradh: (jumpc (not (type-test (register #x20f) 6)) label-4461) 2020-03-26T06:17:43Z Riastradh: (assign (register #x20c) (object->float (register #x204))) 2020-03-26T06:17:44Z badkins joined #scheme 2020-03-26T06:17:45Z Riastradh: (assign (register #x20d) (flonum-2-args flonum-multiply (object->float (constant #x1p+1)) (register #x20c) #f)) 2020-03-26T06:17:48Z Riastradh: (assign (register #x20e) (float->object (register #x20d))) 2020-03-26T06:17:50Z Riastradh: (assign (pre-increment (register 1) -1) (register #x20e)) 2020-03-26T06:21:54Z badkins quit (Ping timeout: 240 seconds) 2020-03-26T06:32:13Z terpri quit (Remote host closed the connection) 2020-03-26T06:32:32Z terpri joined #scheme 2020-03-26T06:39:31Z _leb joined #scheme 2020-03-26T06:43:41Z terpri quit (Remote host closed the connection) 2020-03-26T06:44:15Z terpri joined #scheme 2020-03-26T06:46:05Z johncob_ quit (Remote host closed the connection) 2020-03-26T06:46:15Z johncob joined #scheme 2020-03-26T06:48:58Z Jmabsd: Riastradh: in syntax-case, what is the "bound-identifier" and "free-identifier" thing 2020-03-26T06:49:05Z Jmabsd: actually what is an "identifier" in the syntax-case sense of the word 2020-03-26T06:50:53Z _leb quit 2020-03-26T06:52:00Z leb joined #scheme 2020-03-26T06:52:07Z leb quit (Client Quit) 2020-03-26T06:54:46Z gravicappa joined #scheme 2020-03-26T07:06:05Z skapata quit (Remote host closed the connection) 2020-03-26T07:08:01Z brendyyn quit (Ping timeout: 264 seconds) 2020-03-26T07:16:27Z stepnem quit (Read error: Connection reset by peer) 2020-03-26T07:17:46Z ear-the-art quit (Remote host closed the connection) 2020-03-26T07:18:10Z ear-the-art joined #scheme 2020-03-26T07:21:16Z stepnem joined #scheme 2020-03-26T07:35:02Z brendyyn joined #scheme 2020-03-26T07:50:34Z aeth: Riastradh: why at the level of the registers instead of at the level of the bindings? 2020-03-26T07:56:41Z brendyyn quit (Ping timeout: 250 seconds) 2020-03-26T07:56:43Z dieggsy joined #scheme 2020-03-26T08:01:52Z Naptra joined #scheme 2020-03-26T08:03:49Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-26T08:04:10Z gravicappa joined #scheme 2020-03-26T08:06:24Z evdubs quit (*.net *.split) 2020-03-26T08:06:24Z xi quit (*.net *.split) 2020-03-26T08:06:24Z abbe quit (*.net *.split) 2020-03-26T08:06:25Z andreh_ quit (*.net *.split) 2020-03-26T08:06:25Z GreaseMonkey quit (*.net *.split) 2020-03-26T08:06:25Z sz0 quit (*.net *.split) 2020-03-26T08:06:25Z cemerick quit (*.net *.split) 2020-03-26T08:06:25Z nikita` quit (*.net *.split) 2020-03-26T08:06:25Z kilimanjaro quit (*.net *.split) 2020-03-26T08:06:25Z pablo[m] quit (*.net *.split) 2020-03-26T08:06:25Z jackhill quit (*.net *.split) 2020-03-26T08:06:25Z sudden quit (*.net *.split) 2020-03-26T08:06:25Z pinoaffe1 quit (*.net *.split) 2020-03-26T08:06:25Z rbarraud quit (*.net *.split) 2020-03-26T08:06:25Z amnesia101101[m] quit (*.net *.split) 2020-03-26T08:06:39Z abbe joined #scheme 2020-03-26T08:06:39Z xi joined #scheme 2020-03-26T08:06:45Z jackhill joined #scheme 2020-03-26T08:06:46Z andreh_ joined #scheme 2020-03-26T08:06:49Z luni joined #scheme 2020-03-26T08:06:57Z cemerick joined #scheme 2020-03-26T08:06:58Z sudden joined #scheme 2020-03-26T08:07:00Z sz0 joined #scheme 2020-03-26T08:07:02Z kilimanjaro joined #scheme 2020-03-26T08:07:03Z nikita` joined #scheme 2020-03-26T08:07:07Z kilimanjaro quit (Changing host) 2020-03-26T08:07:07Z kilimanjaro joined #scheme 2020-03-26T08:07:07Z kilimanjaro quit (Changing host) 2020-03-26T08:07:07Z kilimanjaro joined #scheme 2020-03-26T08:07:10Z nikita` quit (Changing host) 2020-03-26T08:07:10Z nikita` joined #scheme 2020-03-26T08:07:57Z evdubs joined #scheme 2020-03-26T08:08:02Z greaser|q joined #scheme 2020-03-26T08:08:13Z amnesia101101[m] joined #scheme 2020-03-26T08:09:48Z seepel quit (Remote host closed the connection) 2020-03-26T08:09:48Z pablo[m] joined #scheme 2020-03-26T08:10:15Z seepel joined #scheme 2020-03-26T08:19:19Z badkins joined #scheme 2020-03-26T08:21:08Z f8l quit (Ping timeout: 256 seconds) 2020-03-26T08:21:13Z stultulo joined #scheme 2020-03-26T08:21:39Z stultulo is now known as f8l 2020-03-26T08:22:10Z jobol joined #scheme 2020-03-26T08:23:58Z badkins quit (Ping timeout: 256 seconds) 2020-03-26T08:26:56Z f8l quit (Remote host closed the connection) 2020-03-26T08:28:13Z f8l joined #scheme 2020-03-26T08:30:07Z mdhughes_ joined #scheme 2020-03-26T08:33:18Z mdhughes quit (Ping timeout: 256 seconds) 2020-03-26T08:36:13Z twb quit (Remote host closed the connection) 2020-03-26T08:56:58Z civodul joined #scheme 2020-03-26T08:57:54Z seepel quit (Ping timeout: 256 seconds) 2020-03-26T09:15:28Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-26T09:15:49Z lockywolf joined #scheme 2020-03-26T09:20:51Z ggole joined #scheme 2020-03-26T09:31:34Z lockywolf: Riastradh, thanks again for the help today. 2020-03-26T09:34:29Z brendyyn joined #scheme 2020-03-26T09:36:34Z lavaflow quit (Ping timeout: 240 seconds) 2020-03-26T09:40:46Z lockywolf quit (Ping timeout: 258 seconds) 2020-03-26T10:01:57Z mdhughes_ is now known as mdhughes 2020-03-26T10:08:55Z tbisker8 quit (Ping timeout: 260 seconds) 2020-03-26T10:12:29Z titanbiscuit joined #scheme 2020-03-26T10:20:30Z lavaflow joined #scheme 2020-03-26T10:21:29Z rbarraud joined #scheme 2020-03-26T10:21:49Z rbarraud: o 2020-03-26T10:21:53Z rbarraud: o/ 2020-03-26T10:24:55Z rbarraud|2 joined #scheme 2020-03-26T10:25:36Z ofc joined #scheme 2020-03-26T10:27:33Z SGASAU joined #scheme 2020-03-26T10:38:16Z rbarraud|2 quit (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) 2020-03-26T10:39:02Z SGASAU` joined #scheme 2020-03-26T10:42:13Z SGASAU quit (Ping timeout: 264 seconds) 2020-03-26T10:51:53Z SGASAU` quit (Remote host closed the connection) 2020-03-26T10:52:33Z SGASAU` joined #scheme 2020-03-26T11:04:21Z madage quit (Remote host closed the connection) 2020-03-26T11:04:21Z tryte quit (Remote host closed the connection) 2020-03-26T11:04:21Z xelxebar quit (Read error: Connection reset by peer) 2020-03-26T11:04:21Z cartwright quit (Read error: Connection reset by peer) 2020-03-26T11:07:43Z xelxebar joined #scheme 2020-03-26T11:10:23Z tryte joined #scheme 2020-03-26T11:12:06Z SGASAU` quit (Remote host closed the connection) 2020-03-26T11:12:19Z SGASAU` joined #scheme 2020-03-26T11:13:22Z madage joined #scheme 2020-03-26T11:29:15Z johncob quit (Quit: Leaving) 2020-03-26T11:29:45Z cartwright joined #scheme 2020-03-26T11:32:23Z johncob joined #scheme 2020-03-26T11:38:10Z lockywolf joined #scheme 2020-03-26T11:40:43Z Jmabsd quit (Quit: Leaving) 2020-03-26T11:47:58Z z-memory joined #scheme 2020-03-26T11:53:00Z jboy quit (Quit: bye) 2020-03-26T12:10:51Z SGASAU` quit (Remote host closed the connection) 2020-03-26T12:14:25Z SGASAU` joined #scheme 2020-03-26T12:17:58Z lritter joined #scheme 2020-03-26T12:20:50Z ear-the-art quit (Remote host closed the connection) 2020-03-26T12:21:02Z badkins joined #scheme 2020-03-26T12:26:01Z badkins quit (Ping timeout: 264 seconds) 2020-03-26T12:32:01Z klovett quit (Remote host closed the connection) 2020-03-26T12:32:47Z klovett joined #scheme 2020-03-26T12:42:45Z klovett quit (Remote host closed the connection) 2020-03-26T12:43:03Z klovett joined #scheme 2020-03-26T12:44:16Z luni quit (Remote host closed the connection) 2020-03-26T12:45:56Z ArthurStrong joined #scheme 2020-03-26T12:53:30Z badkins joined #scheme 2020-03-26T12:57:21Z jao joined #scheme 2020-03-26T13:05:03Z SirDayBat quit (Ping timeout: 268 seconds) 2020-03-26T13:05:41Z johncob_ joined #scheme 2020-03-26T13:06:15Z SirDayBat joined #scheme 2020-03-26T13:08:08Z johncob quit (Ping timeout: 256 seconds) 2020-03-26T13:13:02Z ArthurStrong quit (Quit: leaving) 2020-03-26T13:34:56Z SGASAU` quit (Remote host closed the connection) 2020-03-26T13:35:09Z SGASAU` joined #scheme 2020-03-26T13:35:57Z hugh_marera joined #scheme 2020-03-26T13:36:15Z xkapastel joined #scheme 2020-03-26T13:42:39Z lucasb joined #scheme 2020-03-26T13:46:25Z SGASAU`` joined #scheme 2020-03-26T13:50:37Z SGASAU` quit (Ping timeout: 264 seconds) 2020-03-26T14:02:14Z daviid quit (Ping timeout: 240 seconds) 2020-03-26T14:03:16Z badkins quit (Remote host closed the connection) 2020-03-26T14:03:53Z badkins joined #scheme 2020-03-26T14:08:29Z badkins quit (Ping timeout: 250 seconds) 2020-03-26T14:29:04Z nchamber- joined #scheme 2020-03-26T14:29:15Z nchambers quit (Ping timeout: 240 seconds) 2020-03-26T14:29:15Z emma quit (Ping timeout: 240 seconds) 2020-03-26T14:29:38Z bgardner quit (Ping timeout: 264 seconds) 2020-03-26T14:29:44Z stux|wor- joined #scheme 2020-03-26T14:29:50Z bgardner joined #scheme 2020-03-26T14:30:13Z SirDayBat quit (Ping timeout: 264 seconds) 2020-03-26T14:30:14Z stux16777216Away quit (Ping timeout: 264 seconds) 2020-03-26T14:30:21Z SirDayBat joined #scheme 2020-03-26T14:30:58Z emma joined #scheme 2020-03-26T14:31:10Z emma quit (Changing host) 2020-03-26T14:31:10Z emma joined #scheme 2020-03-26T14:32:55Z SGASAU`` quit (Remote host closed the connection) 2020-03-26T14:33:22Z SGASAU`` joined #scheme 2020-03-26T14:35:24Z stux|wor- quit (Quit: Aloha!) 2020-03-26T14:37:38Z stux16777216Away joined #scheme 2020-03-26T14:41:21Z ngz joined #scheme 2020-03-26T14:48:13Z brendyyn quit (Ping timeout: 264 seconds) 2020-03-26T14:50:54Z SGASAU`` quit (Remote host closed the connection) 2020-03-26T14:51:24Z SGASAU`` joined #scheme 2020-03-26T14:52:30Z badkins joined #scheme 2020-03-26T14:59:55Z daviid joined #scheme 2020-03-26T15:08:28Z SGASAU`` quit (Remote host closed the connection) 2020-03-26T15:08:48Z SGASAU`` joined #scheme 2020-03-26T15:10:57Z epony quit (Quit: reconfig) 2020-03-26T15:13:29Z titanbiscuit quit (Ping timeout: 250 seconds) 2020-03-26T15:14:55Z titanbiscuit joined #scheme 2020-03-26T15:19:09Z lockywolf quit (Remote host closed the connection) 2020-03-26T15:19:35Z lockywolf joined #scheme 2020-03-26T15:20:39Z lockywolf quit (Remote host closed the connection) 2020-03-26T15:21:06Z lockywolf joined #scheme 2020-03-26T15:21:55Z badkins quit (Remote host closed the connection) 2020-03-26T15:22:34Z badkins joined #scheme 2020-03-26T15:27:17Z z-memory quit (Quit: Connection closed for inactivity) 2020-03-26T15:27:43Z badkins quit (Ping timeout: 265 seconds) 2020-03-26T15:29:19Z lockywolf quit (Read error: Connection reset by peer) 2020-03-26T15:30:06Z lockywolf joined #scheme 2020-03-26T15:31:32Z lockywolf quit (Remote host closed the connection) 2020-03-26T15:31:34Z badkins joined #scheme 2020-03-26T15:31:41Z lockywolf_ joined #scheme 2020-03-26T15:45:08Z lockywolf__ joined #scheme 2020-03-26T15:47:43Z lockywolf_ quit (Ping timeout: 250 seconds) 2020-03-26T15:51:38Z TCZ joined #scheme 2020-03-26T16:02:11Z Riastradh: aeth: Why did my changes work at that level? The type checks get introduced at the RTL level, not at the FG level (flow graph, which in LIAR is the higher-level representation of Scheme evaluation). 2020-03-26T16:04:07Z stultulo joined #scheme 2020-03-26T16:04:47Z Riastradh: aeth: Why does LIAR factor the compiler into FG analysis and then RTL analysis? I dunno, it's a way to do things. It's not how the authors would do it if they started over -- in what would have been MIT Scheme version 8, there's something closer to the `nanopass' approach, long before anyone started using that name. But it languished and never got released. 2020-03-26T16:05:27Z f8l quit (Ping timeout: 260 seconds) 2020-03-26T16:05:28Z stultulo is now known as f8l 2020-03-26T16:05:43Z luni joined #scheme 2020-03-26T16:08:02Z Riastradh: aeth: I'm just pointing out those draft changes as _an_ example of a reasoning system that automagically eliminates type checks without declarations -- not as the _best_ way to do it. 2020-03-26T16:08:51Z SGASAU`` quit (Remote host closed the connection) 2020-03-26T16:09:28Z SGASAU`` joined #scheme 2020-03-26T16:12:30Z SGASAU`` quit (Remote host closed the connection) 2020-03-26T16:13:10Z SGASAU`` joined #scheme 2020-03-26T16:20:01Z drakonis joined #scheme 2020-03-26T16:27:13Z jao quit (Ping timeout: 264 seconds) 2020-03-26T16:48:51Z SGASAU`` quit (Read error: Connection reset by peer) 2020-03-26T16:49:11Z SGASAU``` joined #scheme 2020-03-26T16:53:07Z nullus joined #scheme 2020-03-26T16:55:34Z SGASAU``` quit (Ping timeout: 240 seconds) 2020-03-26T17:00:48Z TCZ quit (Quit: Leaving) 2020-03-26T17:09:13Z klovett quit (Ping timeout: 265 seconds) 2020-03-26T17:10:38Z klovett joined #scheme 2020-03-26T17:12:44Z cartwright quit (Remote host closed the connection) 2020-03-26T17:13:45Z cartwright joined #scheme 2020-03-26T17:35:00Z skapata joined #scheme 2020-03-26T17:38:43Z epony joined #scheme 2020-03-26T17:39:00Z klovett quit 2020-03-26T17:40:18Z jao joined #scheme 2020-03-26T17:40:41Z klovett joined #scheme 2020-03-26T17:53:08Z even4void joined #scheme 2020-03-26T17:55:44Z sammich_ joined #scheme 2020-03-26T17:56:30Z sammich_ quit (Client Quit) 2020-03-26T17:58:55Z even4void quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-26T17:59:31Z even4void joined #scheme 2020-03-26T18:02:48Z terpri quit (Ping timeout: 256 seconds) 2020-03-26T18:02:55Z even4void quit (Client Quit) 2020-03-26T18:04:51Z sammich_ joined #scheme 2020-03-26T18:09:46Z sammich_ quit (Remote host closed the connection) 2020-03-26T18:11:15Z even4void joined #scheme 2020-03-26T18:12:07Z even4void quit (Client Quit) 2020-03-26T18:13:16Z klovett_ joined #scheme 2020-03-26T18:14:15Z klovett quit (Ping timeout: 260 seconds) 2020-03-26T18:19:22Z klovett_ is now known as klovett 2020-03-26T18:24:32Z ear-the-art joined #scheme 2020-03-26T18:32:54Z jobol quit (Quit: Leaving) 2020-03-26T18:52:51Z ofc quit (Ping timeout: 272 seconds) 2020-03-26T18:55:08Z badkins quit (Remote host closed the connection) 2020-03-26T18:55:40Z badkins joined #scheme 2020-03-26T18:55:50Z ggole quit (Quit: Leaving) 2020-03-26T18:58:23Z partyclicker quit (Ping timeout: 250 seconds) 2020-03-26T19:00:07Z badkins quit (Ping timeout: 250 seconds) 2020-03-26T19:10:53Z oxum joined #scheme 2020-03-26T19:11:29Z webshinra_ quit (Read error: Connection reset by peer) 2020-03-26T19:13:42Z webshinra joined #scheme 2020-03-26T19:16:37Z ear-the-art quit (Read error: Connection reset by peer) 2020-03-26T19:16:54Z ear-the-art joined #scheme 2020-03-26T19:31:12Z deesix_ joined #scheme 2020-03-26T19:31:34Z badkins joined #scheme 2020-03-26T19:33:13Z deesix quit (Ping timeout: 256 seconds) 2020-03-26T19:40:56Z oxum quit (Remote host closed the connection) 2020-03-26T19:41:29Z even4void joined #scheme 2020-03-26T19:41:41Z even4void quit (Client Quit) 2020-03-26T19:50:09Z Tirifto joined #scheme 2020-03-26T19:58:36Z jboy joined #scheme 2020-03-26T20:03:24Z deesix_ quit (Quit: leaving) 2020-03-26T20:03:39Z deesix joined #scheme 2020-03-26T20:05:16Z luni quit (Remote host closed the connection) 2020-03-26T20:15:17Z oxum joined #scheme 2020-03-26T20:20:10Z oxum quit (Ping timeout: 256 seconds) 2020-03-26T20:21:36Z jboy quit (Quit: bye) 2020-03-26T20:33:21Z hugh_marera quit (Quit: hugh_marera) 2020-03-26T20:37:08Z ear-the-art quit (Read error: Connection reset by peer) 2020-03-26T20:38:22Z ear-the-art joined #scheme 2020-03-26T20:39:33Z SGASAU joined #scheme 2020-03-26T20:45:23Z jboy joined #scheme 2020-03-26T20:54:10Z terpri joined #scheme 2020-03-26T20:54:49Z pilne joined #scheme 2020-03-26T21:09:31Z oxum joined #scheme 2020-03-26T21:28:28Z TCZ joined #scheme 2020-03-26T21:33:56Z lritter quit (Quit: Leaving) 2020-03-26T21:36:06Z ear_the_art joined #scheme 2020-03-26T21:36:26Z ear-the-art quit (Ping timeout: 256 seconds) 2020-03-26T21:43:34Z oxum quit (Ping timeout: 240 seconds) 2020-03-26T21:44:07Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-26T21:44:42Z badkins quit (Remote host closed the connection) 2020-03-26T21:45:25Z badkins joined #scheme 2020-03-26T21:47:37Z malaclyps quit (Ping timeout: 264 seconds) 2020-03-26T21:48:46Z malaclyps joined #scheme 2020-03-26T21:49:46Z badkins quit (Ping timeout: 256 seconds) 2020-03-26T21:54:22Z ear_the_art is now known as ear-the-art 2020-03-26T21:58:40Z brendyyn joined #scheme 2020-03-26T22:01:12Z Naptra quit (Remote host closed the connection) 2020-03-26T22:27:11Z badkins joined #scheme 2020-03-26T22:45:35Z oxum joined #scheme 2020-03-26T23:02:08Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-26T23:05:49Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-26T23:12:46Z evdubs quit (Quit: Leaving) 2020-03-26T23:13:08Z torbo joined #scheme 2020-03-26T23:14:47Z Tirifto quit (Quit: Leaving.) 2020-03-26T23:15:31Z evdubs joined #scheme 2020-03-26T23:18:49Z oxum quit (Ping timeout: 250 seconds) 2020-03-26T23:20:40Z turtleman joined #scheme 2020-03-26T23:23:09Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-26T23:26:16Z turtleman quit (Remote host closed the connection) 2020-03-26T23:31:19Z badkins quit (Remote host closed the connection) 2020-03-26T23:31:51Z badkins joined #scheme 2020-03-26T23:34:35Z SGASAU quit (Remote host closed the connection) 2020-03-26T23:34:43Z terpri quit (Remote host closed the connection) 2020-03-26T23:35:06Z terpri joined #scheme 2020-03-26T23:36:43Z badkins quit (Ping timeout: 260 seconds) 2020-03-26T23:38:37Z brendyyn quit (Read error: No route to host) 2020-03-26T23:38:44Z aeth: jcowan: wait, so is call/cc just a reversal of the CPS normal call in order to emulate a GOTO? 2020-03-26T23:39:21Z aeth: i.e. (x k) instead of (k x) 2020-03-26T23:39:28Z aos quit (Quit: leaving) 2020-03-26T23:39:39Z aos joined #scheme 2020-03-26T23:39:43Z jcowan: I am no expert at call/cc semantics 2020-03-26T23:39:57Z aeth: I'm not sure if it's actually this simple, but it might be 2020-03-26T23:40:49Z jcowan: After CPS conversion, call/cc is just calling the given continuation instead of the one normally passed in. 2020-03-26T23:40:50Z Riastradh: (define (call/cc k f) (f k (lambda (k* x) (k x)))) 2020-03-26T23:41:21Z jcowan: Indeed, in R0RS and R1RS, Scheme only had syntax (catch x ... (x) ...), no procedure, because this syntax would vanish at compile time. 2020-03-26T23:43:15Z xlei quit (Ping timeout: 260 seconds) 2020-03-26T23:46:29Z TCZ is now known as ekspert_programi 2020-03-26T23:48:47Z ekspert_programi quit (Quit: Leaving) 2020-03-26T23:49:35Z badkins joined #scheme 2020-03-26T23:52:47Z zig: what RnRS was published / actual in the 90s? 2020-03-26T23:54:16Z zig: I am trying to understand how / why JavaScript is what it is. Because I read that JavaScript was inspired from Scheme (is that an hoax?) 2020-03-26T23:54:39Z Riastradh: 4 and 5 2020-03-26T23:54:42Z Riastradh: It is not a hoax. 2020-03-26T23:54:52Z zig: ok thanks. 2020-03-26T23:54:56Z aeth: zig: it's an origin myth that became a self-fulfuilling prophecy. JavaScript was more Self-inspired than Scheme-inspired (prototypical inheritance OOP) 2020-03-26T23:55:08Z aeth: zig: But modern JS then went ahead and actually did borrow a lot from Scheme 2020-03-26T23:55:13Z brendyyn joined #scheme 2020-03-26T23:55:19Z aeth: So it was false in 2009 imo, but no longer is 2020-03-26T23:55:26Z drakonis: javascript absorbed a million paradigms over the years 2020-03-26T23:55:42Z drakonis: its like c++ but for your browser 2020-03-26T23:55:51Z zig: C++ compared to what? 2020-03-26T23:56:35Z drakonis: javascript is like c++ in that it has absorbed so many features 2020-03-26T23:56:37Z zig: aeth: I am not sure it borrowed anything from scheme.. rest arguments maybe? prototypal was a fancy feature they wanted in, for some reason, hipster kids liked it a the time maybe? 2020-03-26T23:57:09Z zig: drakonis: you will be happy to know that reactjs (the most popular js framework) went back and forth to support JS classes to not support them. 2020-03-26T23:57:29Z aeth: zig: It's hard to say that something is Lisp-inspired or Scheme-inspired because there are lots of things like lambdas, garbage collection, etc., that don't really distinguish a language anymore, while the remaining stuff that distinguish most Lisps from the rest include features like the numeric tower that are basically never cloned. 2020-03-26T23:57:37Z drakonis: javascript does all the things and so does c++, this is the main takeaway 2020-03-26T23:57:45Z zig: so now they claim to have a fully functional GUI system, that use algebraic effects (under the hood) 2020-03-26T23:58:24Z zig: aeth: not all numeric tower, but I read they have bignum in firefox 2020-03-26T23:58:28Z zig: aeth: I agree. 2020-03-26T23:58:43Z aeth: a separate bignum, which is more of a Java thing than a Lisp thing 2020-03-26T23:58:44Z zig: aeth: most javascritp feature picked from lisps are now common sense for script kids like me 2020-03-26T23:59:07Z aeth: JavaScript is still mostly Self mixed with Java, with a bunch of trendy FP thrown on top 2020-03-26T23:59:10Z Riastradh: Brendan Eich was hired by Netscape to put Scheme as an extension language into the browser, banged out a prototype, and changed the syntax but kept the dynamic type mechanism and evaluation model. 2020-03-26T23:59:45Z zig: I read the marketing departement asked for the curly syntax? is that true? 2020-03-27T00:00:29Z Riastradh: Pretty much, as far as I know. 2020-03-27T00:00:41Z aeth: Riastradh: Doesn't sound like the prototype implemented much of Scheme 2020-03-27T00:00:54Z Riastradh: aeth: `Scheme' and `R7RS-large' are very different beasts 2020-03-27T00:00:56Z aeth: Certainly nothing particularly distinguishing about Scheme besides the syntax, which got scrapped 2020-03-27T00:01:23Z Riastradh: You may have a conception of `Scheme' which is much more elaborated than what people were thinking of at the time. 2020-03-27T00:02:13Z Riastradh: That doesn't mean the origin story is wrong; it just means that what the name `Scheme' means has evolved. 2020-03-27T00:02:37Z zig: Is there a programming language that got prototypal inheritance correctly? I mean in a way that show some usefulness? 2020-03-27T00:02:55Z Riastradh: zig: Not that I know of! 2020-03-27T00:02:55Z aeth: Riastradh: I mean... yes, the definition is a lot more specific than the 90s, but the JS-as-Scheme prototype checked none of the boxes in http://community.schemewiki.org/?scheme-faq-standards afaik 2020-03-27T00:03:04Z zig: honestly, I never could remember how JS prototypes work. 2020-03-27T00:03:05Z aeth: tail recursion, continuations, hygienic macros, numeric tower... 2020-03-27T00:03:32Z nulquen quit (Ping timeout: 260 seconds) 2020-03-27T00:03:43Z zig: maybe those were removed from the prototype. 2020-03-27T00:04:22Z zig: My biggest complain, is not changing the syntax, it is more like abandonning decades of good services and a good community of scientist dedicated to create a programming language for the next era ;) 2020-03-27T00:04:27Z zig: instead they went NIH. 2020-03-27T00:04:43Z aeth: zig: Well, these are specifically named because they're hard to implement (besides tail recursion, which is named because it's just so incredibly critical for idiomatic Scheme) 2020-03-27T00:04:59Z aeth: zig: so it wouldn't surprise me that (1) they wouldn't be in a prototype and (2) they wouldn't be implemented once the target language changed 2020-03-27T00:05:04Z zig: aeth: not necessarly hard with a trampoline. 2020-03-27T00:05:23Z aeth: right, I mean criteria 2-4 are hard, 1 is just important 2020-03-27T00:05:56Z Riastradh: aeth: I reiterate that what you think of as Scheme today is not what inspires a simple lexically scoped dynamically typed evaluator. 2020-03-27T00:05:57Z zig: yes 2020-03-27T00:06:18Z zig: aeth: yes. 2020-03-27T00:06:21Z zig: Riastradh: yes too 2020-03-27T00:06:52Z aeth: Strangely, I got a request for developer access for Airship Scheme from some account that's old but looks brand new in terms of activity. No personal activity other than cloning other people's projects. https://gitlab.com/lodgerwright 2020-03-27T00:06:57Z aeth: Is this one of you here? 2020-03-27T00:07:19Z aeth: Probably just a bot that just happened to see my push at the right (wrong?) time 2020-03-27T00:07:39Z zig: i don't not that account 2020-03-27T00:08:02Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-27T00:08:17Z nulquen joined #scheme 2020-03-27T00:08:37Z aeth: Everything is a fork or tutorial, no substance there. Naturally, I'll reject the request. 2020-03-27T00:09:00Z zig: anyway, that is not the netiquette. 2020-03-27T00:09:15Z zig: you do PR after an issue, or a PR alone. Not ask for commit bit. 2020-03-27T00:09:19Z aeth: right 2020-03-27T00:09:26Z aeth: tbh, I'd probably only accept a developer-access request from jcowan 2020-03-27T00:09:43Z aeth: everyone else, even regulars like Riastradh, would have to do things like merge requests (Gitlab's terminology for pull requests) 2020-03-27T00:10:34Z aeth: You only make someone a developer when they're making so many crucial commits that it would be a pain to review them. 2020-03-27T00:11:29Z zig: that is also a bad idea to accept crucial commits without review, ymmv. 2020-03-27T00:11:52Z aeth: zig: At that point, they're as much of a maintainer as the original author. 2020-03-27T00:12:43Z tryte quit (Ping timeout: 240 seconds) 2020-03-27T00:13:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-27T00:13:29Z zig: a few years back, I created a Python to JavaScript compiler, I accepted a few PR from someone, then given him commit access and BIM, they landed a full change on the code that inlined everything. I was very unhappy. 2020-03-27T00:13:57Z gnomon: zig, revoke, revert, stern talking-to? 2020-03-27T00:14:05Z zig: I was clueless. 2020-03-27T00:14:13Z gnomon: zig, how did you handle it? 2020-03-27T00:14:29Z gnomon: (I'm more interested in the interpersonal resolution, less so the technical) 2020-03-27T00:14:36Z zig: gnomon: I rebuild the code from scratch @_@ 2020-03-27T00:14:43Z gnomon: jiminy cricket 2020-03-27T00:14:44Z zig: in another repo 2020-03-27T00:15:13Z zig: anyway I abandonned the project later, it had 600 stars on github thanks to HN and buzz. 2020-03-27T00:15:43Z zig: made lot of marketing with 3d demos and stuff. but the code was crap It was not going to work. It required CPS but like I said I was clueless. 2020-03-27T00:15:48Z tryte joined #scheme 2020-03-27T00:17:17Z zig: gnomon: jiminy cricket? 2020-03-27T00:18:40Z aeth: zig: There are several reasons I'm on Gitlab instead of Github. (1) a defensive measure using the #2 rather than #1 service (which was correct after MS bought Github imo), (2) it has/had more features built-in, (3) I could actually get an acceptable username (all good GH names are taken), and (4) it establishes a barrier to contribution 2020-03-27T00:19:24Z aeth: I mean, some people might think that #4 is a bad thing, and Github is the lowest friction route, but I don't want trivial driveby contributions (I did get one anyway for one of my projects, and I have gotten a few joke issues on another... so it's not perfect) 2020-03-27T00:20:17Z zig: aeth: you get contributions? well you are part of the lucky ones. 2020-03-27T00:20:45Z zig: in scheme I get ZERO direct contribution. I more like borrowing existing work. 2020-03-27T00:20:57Z aeth: oh, Common Lisp, not Scheme 2020-03-27T00:20:58Z zig: except SRFI-167 and 168 2020-03-27T00:21:06Z zig: ah yes 2020-03-27T00:21:08Z aeth: The Common Lisp community is probably like 10x the size of the non-Racket Scheme community 2020-03-27T00:21:18Z aeth: I mean, still close to 0, but every little exponential helps :-p 2020-03-27T00:21:41Z zig: from what I have seen, Racket community, is like Python community and JavaScript, sort of "oh no, no leftpad function" 2020-03-27T00:22:01Z zig: Scheme contribution are more substantial in general. 2020-03-27T00:22:06Z aeth: leftpad? https://gitlab.com/mbabich/trivial-left-pad 2020-03-27T00:23:23Z zig: aeth: also, the reason I do not get contribution is that I have choosen tools that are not popular, If used postgresql maybe I would have contribs. 2020-03-27T00:23:31Z zig: better is the enemy of good ;) 2020-03-27T00:24:29Z zig: aeth: why people say CL is more pragmattic that Scheme? 2020-03-27T00:24:42Z zig: is it because there is more readily available packages? 2020-03-27T00:25:38Z aeth: zig: CL has always had a more "industrial" focus. Scheme was more of an academic focus (both teaching and research; see: Racket), that was later modified to also include Unix scripting / C-embedding. 2020-03-27T00:26:01Z aeth: zig: So e.g. CL is an acceptable FORTRAN. 2020-03-27T00:26:34Z zig: aeth: industrial means "poor engineering practice" in my mind. please explain what industry is. Ah acceptable FORTRAN I understand. 2020-03-27T00:26:42Z aeth: No Scheme implementor would lower themselves to the level of adding in constructs that could be used to hand-translate FORTRAN into Scheme with comparable numeric performance. That's beneath the academic purity of Scheme. 2020-03-27T00:27:02Z aeth: (Although to be fair, CL is more of a pre-SIMD-in-compilers level of performance for numeric) 2020-03-27T00:27:25Z Riastradh: Where do you get the idea of `beneath the academic purity of Scheme'? 2020-03-27T00:27:31Z zig: outside the LISP-2 thing, The problem with CL is that it use arcanic naming. 2020-03-27T00:28:00Z aeth: Riastradh: I mean, I don't really see anything that FORTRAN-like in the Scheme community, but I do see it here or there in the CL one, especially on top of SBCL. 2020-03-27T00:28:23Z aeth: Riastradh: Nothing's stopping a Scheme from behaving similarly. Hell, I could get there almost immediately by providing access to CL make-array, CL aref, and CL declare. 2020-03-27T00:28:28Z Riastradh: What does `FORTRAN-like' mean? 2020-03-27T00:28:48Z drakonis: it means something is similar to fortran? 2020-03-27T00:28:55Z zig: fast numeric operation? 2020-03-27T00:29:13Z xelxebar joined #scheme 2020-03-27T00:29:30Z aeth: Riastradh: (defun foo (a) (declare (type (simple-array double-float (4)) a)) ... a) and fill in the blanks in ..., or use single-float instead of double-float. And of course, in reality, you'd use macros if you're heavily writing in this style. 2020-03-27T00:29:36Z Riastradh: Like ? 2020-03-27T00:29:45Z jao quit (Remote host closed the connection) 2020-03-27T00:30:16Z jcowan: Tinylisp is a Fortran with Lisp syntax that was used to program VLIW machines. 2020-03-27T00:31:13Z aeth: Riastradh: not quite, CL offers a bit more (and perhaps more importantly, all of that in CL is portable, although the optimizations like declarations might be ignored in some implementations), but, yes, along those lines 2020-03-27T00:31:16Z ear-the-art: ugh firefox just display the .scm dont ask me to download it 2020-03-27T00:31:28Z aeth: Riastradh: That sort of thing seems to be more common in CL than in Scheme 2020-03-27T00:31:39Z aeth: Riastradh: Obviously it's not impossible to do in Scheme. 2020-03-27T00:32:05Z aeth: jcowan: I don't know if I should say great or awful 2020-03-27T00:33:32Z Riastradh: Maybe that's just because more work has been put into it. I'm puzzled by where you get the notion of `academic purity' in Scheme. Certainly not from its creators! 2020-03-27T00:33:48Z aeth: But, I mean, nothing is stopping Scheme from having a SBCL (AOT compiler that does numeric performance well) except perhaps that in the CL community, you keep portability, but doing such a thing in Scheme (idk about r7rs-large, though) is non-portable. 2020-03-27T00:34:46Z aeth: (For all I know r7rs-large is better about this than CL's spec) 2020-03-27T00:34:57Z zig: academic purity might come from "cursory look into additions to the language" 2020-03-27T00:35:00Z zig: (maybe) 2020-03-27T00:35:05Z aeth: zig: yes 2020-03-27T00:35:05Z ear-the-art: http://wingolog.org/archives/2020/03/25/firefoxs-low-latency-webassembly-compiler 2020-03-27T00:35:34Z aeth: The extensions seem to be more about academically interesting things rather than "mundane" things like arrays-of-floats. 2020-03-27T00:35:48Z zig: I do not need array of floats. 2020-03-27T00:35:55Z zig: also Machine Learning is just a buzz word. 2020-03-27T00:35:57Z zig: :p 2020-03-27T00:36:06Z Riastradh: ear-the-art: retry 2020-03-27T00:36:08Z aeth: zig: To some extent, Scheme self-selects for people who prefer symbolic to numeric 2020-03-27T00:36:19Z aeth: zig: Since those who want both or want numeric are elsewhere 2020-03-27T00:36:44Z Riastradh: Scheme does seem to select for navel-gazing, that's for sure... 2020-03-27T00:37:10Z ear-the-art: Riastradh, loaded in emacs eww =) going to share that later in another channel if its ok with you 2020-03-27T00:37:16Z aeth: Notice, though, that e.g. numeric was important for some scripting languages, e.g. Numpy 2020-03-27T00:37:30Z aeth: Numpy does it as a Fortran/C++ language extension, though. 2020-03-27T00:37:33Z jao joined #scheme 2020-03-27T00:38:08Z aeth: A Scheme probably would behave similarly, but a CL might do it in native CL, which would be about 3x slower, but purely CL 2020-03-27T00:38:28Z Riastradh: ear-the-art: go for it 2020-03-27T00:38:28Z aeth: CL seems to have all of the Lispers who stubbornly want to do things all in one language. 2020-03-27T00:38:54Z zig: aeth: no, i am a schemer, I want to do most of it in scheme. 2020-03-27T00:39:10Z zig: (and many other think it is a failure to fallback to c) 2020-03-27T00:39:23Z jcowan: It's silly to re-engineer all that highly debugged numerical code now, even if some of it is 50+ years old. 2020-03-27T00:39:46Z Riastradh: I think it's a failure to get stuck in dreaming of an idealized world while the real world is happening. 2020-03-27T00:39:59Z aeth: zig: "Most of it". Idk, I get the impression that most Common Lispers on IRC will go to incredibly great lengths to avoid CFFI, while quite a few Schemers don't. :p 2020-03-27T00:40:27Z aeth: That might be one of the biggest differences between the two communities, at least the subset on IRC 2020-03-27T00:40:33Z Riastradh: (and to get stuck in nostalgia for an idyllic past that never really was) 2020-03-27T00:40:44Z xlei joined #scheme 2020-03-27T00:41:13Z belmarca: jcowan indeed. 2020-03-27T00:41:23Z belmarca: no shame in falling back to such code. 2020-03-27T00:41:28Z zig: the problem I have with 50+ year old code, is that I do not understand it. It more like a black alien stone. 2020-03-27T00:41:36Z aeth: zig: I mean, a lot of the graphical Common Lisp applications are written on top of CLX, which is its own X client so you don't even need CFFI for GUIs. Even though the result is probably worse than Schemes that do CFFI into a toolkit. That sort of thing. 2020-03-27T00:42:02Z Riastradh: zig: Why is that different for 50+ year old code? 2020-03-27T00:42:11Z zig: aeth: you will run a lot of page results to find a suitable gui toolkit ;) 2020-03-27T00:42:22Z aeth: Riastradh: 50 year old code is written before "structured programming" let alone a bunch of other trends in programming 2020-03-27T00:42:23Z zig: Riastradh: because it is fortran 2020-03-27T00:42:39Z aeth: Riastradh: A lot of really old code does manual optimizations that any reasonable person would leave to a modern compiler 2020-03-27T00:42:54Z zig: I even had the plan to rewrite sxml code.. but not a priority and it is much younger 2020-03-27T00:43:29Z zig: I try to focus on building something that does exist instead. 2020-03-27T00:44:24Z aeth: Riastradh: Also, hardware has changed so what is fast has changed. 2020-03-27T00:44:30Z zig: that does NOT exist. 2020-03-27T00:44:37Z aeth: Not to mention that structured programming might be more optimizable than goto soup... 2020-03-27T00:44:48Z TCZ joined #scheme 2020-03-27T00:46:01Z Riastradh: You seem to be inventing prejudices on the spot to justify avoiding code you haven't even named! 2020-03-27T00:46:43Z jcowan: That's just the oldest, and a fair amount has been written or rewritten from Fortran 66 to Fortran 77, which is certainly structured (although it doesn't yet have WHILE, it's not needed much in numerical code either) 2020-03-27T00:47:17Z aeth: Yeah, porting your 50 year old Fortran into Fortran 77 is probably the path of least resistance. 2020-03-27T00:48:37Z aeth: "50 years" seems to specifically be the bad time, although plenty of 1980s code was still written in a 1970s style. 2020-03-27T00:48:58Z Riastradh: Certainly there is plenty of fair criticism of real numerical code; what is puzzling me is why you're pontificating about the sociology around ecosystems of tools you seem to be inventing prejudices to rationalize avoiding. 2020-03-27T00:49:01Z aeth: 30 year old code should be fine unless it needs to take advantage of SIMD or parallelism 2020-03-27T00:49:42Z aeth: Riastradh: Have you read programs in any language from the 1970s? Most of them are nightmare-level by today's coding standards. 2020-03-27T00:49:53Z aeth: It was just a totally different era. 2020-03-27T00:50:13Z zig: The thing is that BLAS for instance, seems to be empty from bugs, so there is really not pain point in using it, if you can ffi it. 2020-03-27T00:50:15Z aeth: Even Lisp looks really alien and unrecognizable, probably using constructs like PROG 2020-03-27T00:50:17Z drakonis: the languages designed then were massively influenced by the limitations of the time 2020-03-27T00:50:51Z Riastradh: I kinda lost track of the point. 2020-03-27T00:51:31Z aeth: zig: Afaik, BLAS is just an API, and the idea is that it should be hand-optimized asm for any platform to serve as a set of primitives of sort. Iirc. It's been a while. 2020-03-27T00:51:35Z f8l quit (Remote host closed the connection) 2020-03-27T00:51:49Z aeth: So, it's not really 50 years old code unless you're using 50 years old hardware. 2020-03-27T00:53:42Z jcowan: aeth: I've not only read them, I was there, *writing* them. Including in Fortran. 2020-03-27T00:54:00Z f8l joined #scheme 2020-03-27T00:54:38Z jcowan: And my code wasn't spaghetti code, even without IF-THEN-ELSE. 2020-03-27T00:54:50Z zig: aeth: what about cyc in CL, is that a thing? Anything GOFIA and stuff? 2020-03-27T00:54:59Z aeth: jcowan: you don't look that old 2020-03-27T00:55:01Z zig: s/GOFIA/GOFAI/ 2020-03-27T00:55:12Z jcowan: How old do I look? 2020-03-27T00:55:24Z aeth: I remember seeing a video of yours in the search results iirc 2020-03-27T00:55:43Z aeth: ah, yeah, this one: https://vimeo.com/311106780 2020-03-27T00:55:58Z aeth: jcowan: 50s, i.e. as old as the code we're talking about 2020-03-27T00:56:03Z jcowan: 61 2020-03-27T00:56:08Z ngz quit (Ping timeout: 246 seconds) 2020-03-27T00:56:17Z aeth: ah 2020-03-27T01:00:43Z aeth: If you dyed your beard, I don't think anyone could see 61. 2020-03-27T01:00:47Z lockywolf joined #scheme 2020-03-27T01:01:09Z oxum joined #scheme 2020-03-27T01:01:20Z luni joined #scheme 2020-03-27T01:01:58Z zig: well some stuff are not visible ;) I can tell. 2020-03-27T01:03:19Z zig: and I am not even 40 as of yet. 2020-03-27T01:06:49Z zig: when I was 20, I was under the impression I was invincible, so does a young woman 21, that just escaped (for the time being) covid+ 2020-03-27T01:07:00Z zig: nowadays I try to be more careful. 2020-03-27T01:07:30Z jcowan nods. 2020-03-27T01:10:52Z pjb: zig: there are other young men or women who die from covid. 2020-03-27T01:11:33Z zig: :/ 2020-03-27T01:12:23Z zig: the youngest in france ie 16. 2020-03-27T01:12:28Z aeth: being young just moves you to 1 in 1000 instead of 1 in 10 at the other end of the age extreme 2020-03-27T01:13:16Z lockywolf_ joined #scheme 2020-03-27T01:13:19Z pjb: aeth: just because youngfullness is corelated with health. 2020-03-27T01:13:30Z zig: well, I still struggle with my scheme plans. Struggling between chez / gambit and chibi. 2020-03-27T01:13:53Z aeth: I mean, there's only one Scheme implementation that will be worth using at the end of the year. ;-) 2020-03-27T01:14:10Z zig: what is it? 2020-03-27T01:14:15Z zig: yours? 2020-03-27T01:14:16Z jcowan: For people who care most of all for speed, and that's a *good* thing. 2020-03-27T01:15:06Z zig: well, I care for speed, but also good backtrace and POSIX threads. 2020-03-27T01:15:21Z zig: backtrace is last actually. 2020-03-27T01:15:30Z aeth: I'm actually considering making a library that doesn't contain call/cc in it, which if used could allow the compiler to statically decide to undo CPS on every call, which would afaik eliminate most possible performance overheads. 2020-03-27T01:15:49Z lockywolf quit (Ping timeout: 250 seconds) 2020-03-27T01:15:50Z zig: hmm 2020-03-27T01:16:00Z aeth: Maybe a few other things in Scheme could have similar performance impacts that could be statically removed in such a library. 2020-03-27T01:16:18Z zig: that is do line reporting correctly? 2020-03-27T01:16:37Z zig: wait, but that can not possibly work for me, I do not want to learn CL. 2020-03-27T01:16:45Z zig: I mean, learning C is already lot of work. 2020-03-27T01:17:41Z aeth: zig: Just wait until my Scheme has CL functions/macros ported to Scheme and Scheme functions/macros ported to CL, and a reader macro or two on top for extra "what language am I currently using?" fun 2020-03-27T01:17:50Z jcowan: Airship has access to random CL libs, but doesn't depend on them, any more than a Scheme in Java or CLR does. You're writing Scheme when you write in Kawa or IronScheme. 2020-03-27T01:17:56Z zig: that is the thing that is nice with Chez, it is mostly written in terms of itself. The only thing missing is bootstrappable, but that is done with racket written in C. 2020-03-27T01:18:35Z jcowan: Chicken is not bootstrappable from zero, but tarballs ship the compiled C source of the compiler to break the loop. 2020-03-27T01:19:03Z zig: but chicken does have POSIX threads? Does it? Also it doesn't compile-all-the-things without a makefile. 2020-03-27T01:19:29Z zig: unlike cyclone which added the feature recently. 2020-03-27T01:19:42Z aeth: Well, Airship would have .asd files. 2020-03-27T01:19:59Z aeth: Or at least could potentially integrate with them 2020-03-27T01:20:19Z jcowan: Chicken has green threads, yes. Not sure what you mean by "compile-all-the-things without a makefile" 2020-03-27T01:20:38Z zig: I am not emotional about chez, actually if I let my "heart" choose, I would pick gambit. 2020-03-27T01:21:17Z aeth: CL doesn't have threads. Implementations have threads, usually native threads, but are usually accessed through the bordeaux-threads portability library. 2020-03-27T01:22:11Z zig: ear-the-art: fwiw, chromium has all the things required to implement scheme in the browser, firefox does not. They keep boasting their C / C++ first class support... who needs that? 2020-03-27T01:23:08Z zig: ear-the-art: I mean I am confident it is possible to compile scheme directly to wasm, not going throught emscripten. 2020-03-27T01:23:35Z zig: ear-the-art: it requires more work, but more like simple stack that the emscripten python mess. 2020-03-27T01:23:39Z ear-the-art: zig, whoa, first class c/c++ support in browser ? 2020-03-27T01:23:52Z aeth: I would be incredibly amused at the complex tower of languages if someone ported Airship Scheme to run in the browser. 2020-03-27T01:24:04Z ear-the-art: zig, and yep. wasm is a decent target. and it is changing fast, all the features for TCO and stuff are coming up, if not already there 2020-03-27T01:24:08Z aeth: It'd be, like, what? Scheme->CL->WASM->C++->asm 2020-03-27T01:24:21Z aeth: And now run minikanren on top 2020-03-27T01:24:30Z zig: aeth: exactly tower of languages, the thing i try to avoid in my work. 2020-03-27T01:24:36Z ear-the-art: wasm->llvm should be fine 2020-03-27T01:25:14Z zig: ear-the-art: you misread my message, chrome has all the feature to compile scheme to wasm. 2020-03-27T01:25:31Z zig: ear-the-art: there is not proposal in firefox side, that would make it better. 2020-03-27T01:25:33Z jcowan: I'm sure there will be wasm compilation soon eought 2020-03-27T01:25:50Z zig: ear-the-art: maybe their web IDL will improve things, but it is far from ready 2020-03-27T01:26:11Z zig: ear-the-art: it will not solve the "pause wasm, give back control to js vm, and forth". 2020-03-27T01:27:53Z badkins quit (Remote host closed the connection) 2020-03-27T01:27:53Z ear-the-art: zig, just looking for clarification on the "Who needs that?" part. 2020-03-27T01:27:58Z zig: web IDL is supposed to give access to DOM API from wasm. but... not happened yet. 2020-03-27T01:28:45Z ear-the-art: wasm is still minimum viable product 2020-03-27T01:29:07Z zig: ear-the-art: chrome has extensions for mvp. 2020-03-27T01:29:33Z zig: that were refused by mozilla. I do not remember exactly what. 2020-03-27T01:29:47Z zig: AH yes, the thing missing in firefox is anyref. 2020-03-27T01:30:00Z badkins joined #scheme 2020-03-27T01:30:02Z zig: that allows to interop with JavaScript DOM API. 2020-03-27T01:30:19Z zig: with a performance penality, but... 2020-03-27T01:30:39Z zig: for the newspaper application, one doesn't care much about performance. 2020-03-27T01:30:52Z zig: for most back office application, not need for that. 2020-03-27T01:33:29Z zig: anyway need some sleep 2020-03-27T01:33:31Z zig: see you later. 2020-03-27T01:34:25Z badkins quit (Ping timeout: 264 seconds) 2020-03-27T01:34:52Z ear-the-art: ah. rest well 2020-03-27T01:42:56Z jcowan: Here's some TinyLisp: 2020-03-27T01:42:56Z jcowan: (def-block ( a b in ) ( c. ) 2020-03-27T01:42:56Z jcowan: (declare (a i j k) integer) (declare (a b c) float ( (1 56) (1 56) ) ) 2020-03-27T01:42:56Z jcowan: (declare (so si s2 s3 s4 s5 ses st) float) 2020-03-27T01:42:56Z jcowan: (loop (incri from 1 to a) (do (loop (incri from 1 to n by 8) (do 2020-03-27T01:42:57Z jcowan: (assert (0-od (- j il) 8) ) 2020-03-27T01:42:57Z jcowan: (:o so (: un si (: 2 (: s3 (: s4 (: 5 (: s6 (: 7 O. O)))))))) 2020-03-27T01:43:08Z jcowan: Indentation got lost, dammit 2020-03-27T01:46:01Z aeth: "(declare (so si s2 s3 s4 s5 ses st) float)" < yes, that's the numeric programming I know and love 2020-03-27T01:46:33Z aeth: The names make perfect sense if you have a Wikipedia page or book with the algorithm and otherwise are as cryptic as possible :-p 2020-03-27T01:47:15Z aeth: to be fair, a lot of the concepts are either hard or ultra-general 2020-03-27T01:47:48Z aeth: jcowan: what does (: ...) mean? 2020-03-27T01:48:07Z TCZ: ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°) 2020-03-27T01:48:33Z aeth: TCZ: you're going to want to make that tail recursive so it can be optimized. 2020-03-27T01:48:33Z jcowan: more PDF issues: should say := (assignment) 2020-03-27T01:49:18Z aeth: jcowan: ah, that makes more sense, although : could make sense in a sort of ASCII-APL sense if it fell in that category (but with s-expressions!). 2020-03-27T01:49:35Z jcowan: It was only a test program for the hardware, after all, and it was translated by hand from Fortran to TInylisp 2020-03-27T01:50:03Z aeth: TCZ: right now that's... head recursive 2020-03-27T01:50:31Z jcowan: I spent a year working for one of the two companies using K (which is ASCII APL of sorts, but with lists instead of arrays) 2020-03-27T01:50:48Z aeth: yeah, I want to implement something like K, APL, etc. 2020-03-27T01:51:38Z TCZ: hah 2020-03-27T01:51:41Z jcowan: K is *sick*. Not only is there unsystematic overloading on arity, there is unsystematic overloading on argument type 2020-03-27T01:52:43Z TCZ: jcowan, i read that J cant be compiled because of its syntax, idk if its true 2020-03-27T01:52:57Z jcowan: hence the famous 2!!7!4, which means (rotate (iota (mod 7 4)) 2) 2020-03-27T01:53:57Z aeth: (!! (! 7 4) 2) ; there, now you have a Lispy K, if I parsed that correctly. 2020-03-27T01:54:15Z aeth: So much more readable... 2020-03-27T01:54:46Z luni: hi all, do you know if there is something online maybe implemented in Scheme for the electric circuits design freely available? I was trying to find something made by Sussmann without success 2020-03-27T01:55:00Z jcowan: You need to call three functions, there's no getting away from that 2020-03-27T01:55:15Z aeth: jcowan: then where does iota come in? 2020-03-27T01:55:44Z aeth: I guess I mistakenly assumed that 7!4 was (iota (mod 7 4)) or that 2!!... implicitly iota'd 2020-03-27T01:56:25Z jcowan: Right to left. 7!4 is dyadic and applied to numbers, so it's mod. When monadic and applied to a number, it's iota. Then when it's dyadic and applied to a list and a number, it's rotate. 2020-03-27T01:57:43Z jcowan: Of course, you could certainly write a case-lambda function that did all that exactly, and then it's (! (! (! 7 4)) 2) 2020-03-27T01:58:11Z aeth: oh, of course it would just be (! (! (! 7 4)) 2) my bad. 2020-03-27T01:58:14Z lockywolf__ joined #scheme 2020-03-27T01:58:36Z aeth: that's why I think that something like this would be an amusing project 2020-03-27T01:58:51Z jcowan nods. 2020-03-27T01:59:42Z jcowan: So it's not just the parsing that's hard: you can get used to that. But I had to use *flashcards* to learn all the overloading. 2020-03-27T02:00:53Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-27T02:01:10Z jcowan: I mean, what do mod, iota, and rotate have in common? Nothing, nada, zilch! 2020-03-27T02:01:42Z Oxyd: Mod and rotate are kinda similar. 2020-03-27T02:01:52Z lockywolf__ quit (Remote host closed the connection) 2020-03-27T02:02:04Z jcowan: Can you explain? 2020-03-27T02:02:14Z lockywolf__ joined #scheme 2020-03-27T02:03:31Z Oxyd: If you have a vector, you can rotate it by k by sending i'th element to element number (i + k) % size. 2020-03-27T02:04:14Z oxum quit (Ping timeout: 240 seconds) 2020-03-27T02:04:25Z xlei quit (Ping timeout: 264 seconds) 2020-03-27T02:05:28Z Oxyd: Or, the other way around: To find a % b, first create a vector (0, 1, ..., b - 1), rotate it by a, and take the first element. 2020-03-27T02:05:40Z Oxyd: And that's where iota comes into play as well. 2020-03-27T02:05:43Z Oxyd: Makes complete sense! 2020-03-27T02:06:11Z jcowan: You're better at this than I am, I guess. 2020-03-27T02:07:02Z Oxyd: I mean, modular arithmetic is kinda Pacman-style movement on the number line. Rotating a vector is also Pacman-style movement on that vector. 2020-03-27T02:09:27Z seepel joined #scheme 2020-03-27T02:36:05Z TCZ quit (Quit: Leaving) 2020-03-27T02:52:19Z aeth: I'm going through the r7rs-large video that I linked to earlier. 2020-03-27T02:52:29Z aeth: I'm glad that there will be a vote on what numbers must be supported... 2020-03-27T02:52:38Z aeth: Time to find a way to force r7rs-large to support quaternions... 2020-03-27T03:12:54Z xlei joined #scheme 2020-03-27T03:15:28Z luni quit (Remote host closed the connection) 2020-03-27T03:18:36Z ear-the-art: ohh =) 2020-03-27T03:31:55Z badkins joined #scheme 2020-03-27T03:32:11Z jcowan: We took that vote as part of Tangerine, but adding a SRFI would be no problem. Lexical syntax would have to wait till the end of the process; integrating into standard Scheme generic numbers might be hard to arrange for, probably optional. 2020-03-27T03:32:49Z jcowan: the vote aligned R7RS-large with R6RS. 2020-03-27T03:34:20Z aeth: Now I just need to find a way to make matrix multiplication sound like a reasonable addition... :-p 2020-03-27T03:35:10Z aeth: I mean, to be fair, it doesn't have to be ultra-efficient matrix multiplication so the SRFI could actually have functioning matrix multiplication that obviously isn't going to be winning any world records. 2020-03-27T03:35:22Z oxum joined #scheme 2020-03-27T03:36:35Z badkins quit (Ping timeout: 260 seconds) 2020-03-27T03:53:31Z aeth: Actually, I wonder exactly what Numpy provides 2020-03-27T03:53:43Z aeth: that is essentially what Scheme is competing with 2020-03-27T03:55:25Z Riastradh: aeth: Feel free to parrot https://mumble.net/~campbell/tmp/mit-matrix.scm if nothing else leaps forward. 2020-03-27T03:55:43Z Riastradh: (and https://mumble.net/~campbell/tmp/mit-vector.scm) 2020-03-27T03:56:20Z aeth: It looks like Numpy has a deprecated matrix class that implemented * and ** and recommends using arrays. I wonder why? Maybe foreign language interop is poor when a "real" 2D data structure is used? https://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.html#numpy.matrix 2020-03-27T03:58:18Z aeth: Hmm... I am wondering, though, specifically, if someone could turn some minimal "essence" of Numpy into a SRFI... https://docs.scipy.org/doc/numpy/reference/index.html 2020-03-27T03:58:34Z Riastradh: Should have general tensor contraction, really, or perhaps something like scmutils. 2020-03-27T03:58:48Z aeth: A lot of the stuff in Numpy are probably completely unnecessary for the typical (probably ML?) uses 2020-03-27T03:59:29Z aeth: jcowan: what edition would numeric (not numbers) go under? dubiusly useful? 2020-03-27T03:59:35Z aeth: *dubiously 2020-03-27T03:59:50Z Riastradh: May I suggest getting some experience and familiarity with the domain before transcribing it into a Scheme standard? 2020-03-27T03:59:53Z aeth: I suppose "linear algebra" would be the best way to describe most of it. 2020-03-27T04:01:18Z pilne quit (Quit: East bound and down, loaded up and truckin') 2020-03-27T04:01:47Z aeth: Riastradh: I do have some vague familiarity with it. I recognize most of the words involved in the NumPy reference, for instance. I've taken some undergraduate-level classes involving various types of numerical... from ML to CG to numerical itself. I wouldn't say I'm anything approaching a domain expert. Far from it. 2020-03-27T04:02:44Z aeth: (ML as in machine learning, which was most of the AI class I took) 2020-03-27T04:03:01Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-27T04:03:38Z aeth: Now, of course, "I've used some of these or implemented some of these for toy undergraduate assignments of no more than one month... in the past" is far from "I can implement provably correct implementations of these" 2020-03-27T04:04:21Z ear-the-art: aeth perhaps look at julia. one of its three main purposes to replace, is python+Numpy. (others being c++/blas and matlab/R) 2020-03-27T04:04:56Z ear-the-art: or rather, a look at how julia approaches it. with its matrix stuff and various number things and vectoring of any operation to parallel 2020-03-27T04:05:15Z aeth: ear-the-art: there are some other languages like that. Even CL and Scheme have bits and pieces of that, with rational types, GCD, etc. 2020-03-27T04:05:43Z aeth: For r7rs-large, just having a vector and matrix type and a few other types, leaving a lot of useful functionality to libraries, would probably be the way to go, I'm guessing? 2020-03-27T04:05:49Z ear-the-art: there's another thing too, like BLAS. libgmp? 2020-03-27T04:06:09Z aeth: well mathematical vector, which isn't the same as a Scheme vector, unless you duck type it so e.g. vec+ works on any vector that consists solely of numbers 2020-03-27T04:06:22Z ear-the-art: oh probably.. quaternion being 4-elem vector with some different ops 2020-03-27T04:09:26Z aeth: ear-the-art: but thank you for bringing up Julia, that's probably exactly the kind of language that a proposal would have to take inspiration from for this 2020-03-27T04:09:46Z aeth: I keep forgetting about that language, I've never looked into it although I almost have on several occasions 2020-03-27T04:11:48Z mdhughes: There's a new Julia release, just installed but haven't really used it yet. I need to see if it starts faster, that's been my main problem, the JIT is VERY slow at startup. 2020-03-27T04:12:48Z mdhughes: But massively faster/easier than using Python for math, and has better plotting tools. 2020-03-27T04:12:56Z aeth: mdhughes: Yes, there are at least two problems from "Oh, Julia has interesting ideas." (1) Not every Scheme is going to JIT (heh, mine isn't) and (2) Julia is a single-implementation language so it can just add as many features as it wants from various random C/C++/Fortran/etc. libraries while Schemes have to run literally everywhere, in literally any environment (e.g. in-browser, on phones, etc.). 2020-03-27T04:13:37Z aeth: #2 can at least partially be solved by implementing an r7rs-large-portable slow path in pure r7rs-large. 2020-03-27T04:13:42Z aeth: But that's a lot of work. 2020-03-27T04:15:30Z aeth: That being said, yeah, Julia is probably a better source of ideas to loot than Numpy is. 2020-03-27T04:15:58Z aeth: Although, idk, if Oracle wins its lawsuit, APIs can't be copied... 2020-03-27T04:16:09Z mdhughes: Most of what it does is perfectly portable, it's just well-integrated into the language. Writing the same things in Scheme is somewhat harder to express. 2020-03-27T04:16:27Z aeth: oh no. anything that requires new syntax is going to be really controversial 2020-03-27T04:16:42Z aeth: Is #M() still available for matrices? 2020-03-27T04:18:24Z mdhughes: 2020-03-27T04:24:08Z Riastradh: aeth: Rather than worry about what you can stuff into a standard, maybe consider starting with an application you want to implement, a problem you want to solve, and do what is necessary to solve that problem (perhaps taking inspiration from numpy or julia or whatever). 2020-03-27T04:24:15Z Riastradh: Then, when you're satisfied that it's been solved well, do another one, and another one; _then_ consider whether the result is worth putting into a standard. 2020-03-27T04:25:18Z seepel quit (Ping timeout: 256 seconds) 2020-03-27T04:28:18Z aeth: Riastradh: well, quaternions were a joke 2020-03-27T04:28:36Z aeth: I will continue to joke about quaternions 2020-03-27T04:28:52Z aeth: Perhaps I haven't joked about them recently enough for people to remember 2020-03-27T04:29:48Z aeth: Usually people respond by talking about octonions, sedenions, etc. 2020-03-27T04:31:14Z seepel joined #scheme 2020-03-27T04:31:48Z aeth: As for matrices, I've absolutely written plenty of programs using matrices, though not in Scheme... it's hard in a language without 2D arrays, which r7rs-large does not yet have. Matrices are a pretty standard tool in quite a few toolkits, often restricted to the much easier 2x2 or 3x3 or 4x4, etc. 2020-03-27T04:32:49Z aeth: I can't say that I've written sparse matrices, though, or have had the direct programmatic need to anything of that degree of fanciness (who knows what machine learning does under the hood?). 2020-03-27T04:33:14Z lockywolf_ joined #scheme 2020-03-27T04:33:58Z ear-the-art: mdhughes, yeah first compile is a JIT thingy 2020-03-27T04:34:01Z aeth: I've done both sides of matrices, though. My own, probably-horrible matrices as well as using ultra-optimized C++. 2020-03-27T04:35:14Z jao quit (Ping timeout: 240 seconds) 2020-03-27T04:36:13Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-27T04:37:05Z aeth: Riastradh: I'm aware enough about linear to know that there are issues with e.g. row vectors vs. column vectors and how that changes the matrices you use, as well as the matrix storage (row major, column major, etc.), as well as different ways to implement matrices (2D or something a bit more C-library-friendly). I'm also aware that e.g. graphics libraries can simplify to the extent that general ones cannot. 2020-03-27T04:38:25Z aeth: "Now I just need to find a way to make matrix multiplication sound like a reasonable addition..." with the ":-p" immediately after was a statement made knowing that, well, you go right here on Wikipedia and it has an "Unsolved problem in computer science" box in the upper right and that's never good: https://en.wikipedia.org/wiki/Matrix_multiplication_algorithm 2020-03-27T04:39:22Z aeth: (In case I'm unclear, by "as well as the matrix storage", I mean I know there are different matrix storages, it's unrelated to the type of vector used) 2020-03-27T04:39:35Z gravicappa joined #scheme 2020-03-27T04:42:13Z aeth: Riastradh: On the other hand, I also know that Fibonacci numbers can be generated by matrix multiplication (I've encountered it in mathematics before) and I would be incredibly amused if one of the hello worlds to r7rs-large used the matrix-multiplication-fib because that's something you absolutely do not expect in a Scheme hello world to Fibonacci via recursion. https://en.wikipedia.org/wiki/Fibonacci_number#Matrix_form 2020-03-27T04:44:22Z aeth: (which is, of course, entirely unnecessary in practice unless building a sequence because there's actually just a direct formula for them iirc) 2020-03-27T04:47:42Z torbo quit (Remote host closed the connection) 2020-03-27T04:48:26Z aeth: And personally, I'd say that the biggest problem with a matrix* (or generically using *, which politically is a non-starter... I'm surprised Scheme even has a generic numeric tower) is that in practice, I prefer a matrix*-into! which replaces the now-useless contents of one of the matrices so the program doesn't cons like mad. I am also aware that this is, essentially, just a simple special case of a standard BLAS function. 2020-03-27T04:50:04Z aeth: (it's called "gemm", apparently) 2020-03-27T04:50:43Z zaifir: Generic * would be possible in an elegant way with something like comparators providing a number typeclass. 2020-03-27T04:53:15Z Riastradh: How does the saying go... `Lisp turns technical problems into social problems' (the unspoken corollary of which is that they become 1000 times harder, I suppose!) 2020-03-27T04:53:25Z zaifir: And wouldn't matrix*-into! just be a linear update version of matrix* ? 2020-03-27T04:53:34Z aeth: zaifir: Possible? Yes. Useful? Maybe, maybe not. Destructive multiplication is considerably more useful, but compilers could (heh) optimize. Politically viable? Probably not, although Scheme does support renaming on import. 2020-03-27T04:53:57Z zaifir: aeth: ^^ linear update point 2020-03-27T04:56:54Z zaifir: aeth: Saying things are politically unviable seems like appealing to unspecified opinions of unspecified people as support for why something *can't* be done. 2020-03-27T04:57:05Z aeth: Riastradh: eh, the Lisp way is to do a probably-solo project (no more than 3 people) with your own incompatible view of how things should be done. 2020-03-27T04:57:53Z aeth: zaifir: I mean, "extend the numeric tower to support math vectors and matrices" is no easy task since they don't share the same properties, although complex numbers do have similar problems to math vectors. 2020-03-27T04:58:24Z zaifir: aeth: Right. 2020-03-27T04:58:45Z Riastradh: https://mumble.net/~campbell/tmp/Algebra.hs 2020-03-27T04:58:46Z aeth: I mean, for one, vectors don't even have one clear *, although I guess you could treat them as matrices. 2020-03-27T04:59:10Z aeth: Wikipedia redirects "vector product" to "cross product", though, so I guess that's the One True product for vectors. 2020-03-27T04:59:16Z Riastradh: heh 2020-03-27T04:59:32Z Riastradh: I guess R3 must be the One True vector space, then! 2020-03-27T04:59:49Z aeth: oh, hah, you're right, it doesn't even work past R3 2020-03-27T04:59:57Z Riastradh: or preceding 2020-03-27T05:00:01Z aeth: right 2020-03-27T05:00:20Z Riastradh: There are many reasonable things you might call a `product'; it depends on what properties you want. 2020-03-27T05:00:35Z Riastradh: Every vector space admits scaling a vector by a scalar, by definition. 2020-03-27T05:01:09Z aeth: Riastradh: that Haskell file is very large 2020-03-27T05:01:14Z Riastradh: Direct products of multiplicative groups admit a natural elementwise product. 2020-03-27T05:01:14Z aeth: (for Haskell) 2020-03-27T05:01:42Z Riastradh: aeth: yes, well, I had to enumerate a lot of useful integers and primes to do arithmetic on them in the type system. 2020-03-27T05:02:06Z aeth: Is that for Project Euler? 2020-03-27T05:02:12Z Riastradh: No, it was for fun. 2020-03-27T05:02:22Z aeth: I think everyone writes a little algebra library for themselves for solving some of the Project Euler problems... 2020-03-27T05:02:48Z aeth: (Clearly, all of those should be standard in r7rs-extra-large, especially prime sieves) 2020-03-27T05:03:51Z Riastradh: `I wonder if I can express a type class GF(q^n), with q and n stated in the type, in which each instance is a representation of GF(q^n), so that the math actually works out if you just write it the usual way and add on `:: RepresentationType' at the end.' 2020-03-27T05:04:13Z Riastradh: (answer: yes) 2020-03-27T05:04:14Z ear-the-art: since an .hs was posted and i have this open showing my code elsewhere, https://github.com/humasect/HS-Nova/blob/master/Source/Nova/VectorOps.hs 2020-03-27T05:04:36Z aeth: r7rs will culminate in its greatest achievement, r7rs-extra-extra-large, which includes such useful procedures as halt? and, my personal favorite, p=np? 2020-03-27T05:05:34Z Riastradh: (Except there's a bug at the end with representing multivariate polynomial rings, but oh well. The Galois field computations work, anyway.) 2020-03-27T05:06:02Z aeth: "The Galois field computations" < I wonder which edition of r7rs-extra-large they'll go in 2020-03-27T05:06:11Z Riastradh: all of them 2020-03-27T05:06:49Z aeth: oh I know them 2020-03-27T05:06:56Z aeth: I was hoping for something fancier. https://en.wikipedia.org/wiki/Finite_field 2020-03-27T05:07:23Z Riastradh: Anyway, that's what a `numeric tower' oughta look like. 2020-03-27T05:07:29Z aeth: I didn't remember the name but I absolutely remember those tables 2020-03-27T05:09:11Z oxum quit (Remote host closed the connection) 2020-03-27T05:09:47Z aeth: I really am curious exactly how much algebra r7rs-large would be willing to admit, though. 2020-03-27T05:10:02Z Riastradh: Start with everything in Algebra.hs! 2020-03-27T05:10:16Z Riastradh: (Might want a few more primes, though. I got bored at 13.) 2020-03-27T05:10:53Z aeth: Ideally, everything in Project Euler should be solvable in a handful of lines and run in < 10 seconds... https://projecteuler.net/archives 2020-03-27T05:11:03Z aeth: Well, at least in the easy 50 or so. 2020-03-27T05:11:12Z lockywolf__ joined #scheme 2020-03-27T05:11:15Z aeth: I think there's only one of them that's tricky to run in < 10 seconds unless parallelized, but maybe I just used bad math there 2020-03-27T05:12:00Z aeth: To be fair, it's mostly already there. You have things like GCD and bignums, etc. 2020-03-27T05:12:43Z aeth: Prime sieves/factorization and a mathematical integer summation macro would be the main things you might seriously want to implement if you wanted a language for concise Project Euler solutions. 2020-03-27T05:14:07Z Riastradh: LLL 2020-03-27T05:14:13Z lockywolf_ quit (Ping timeout: 265 seconds) 2020-03-27T05:14:16Z aeth: LLL? 2020-03-27T05:14:20Z Riastradh: LLL is black magic 2020-03-27T05:15:02Z aeth: Based on the context, I'm guessing that's some sort of library that applies summation identities? 2020-03-27T05:15:16Z Riastradh: It's a lattice reduction algorithm. 2020-03-27T05:15:17Z aeth: Or a numerical algorithm 2020-03-27T05:15:22Z aeth: oh, okay 2020-03-27T05:15:27Z aeth: this then: https://en.wikipedia.org/wiki/Lenstra%E2%80%93Lenstra%E2%80%93Lov%C3%A1sz_lattice_basis_reduction_algorithm 2020-03-27T05:15:31Z Riastradh: yes 2020-03-27T05:16:06Z Riastradh: Reveal just a few bits of an RSA factor, and *bam* LLL spits out the rest. 2020-03-27T05:17:05Z aeth: ah, okay, so then that's the response to the factorization part, not the other part 2020-03-27T05:17:11Z aeth: sounds useful 2020-03-27T05:17:18Z aeth: you should make a SRFI 2020-03-27T05:17:33Z Riastradh: It's not a factoring algorithm but it's a useful primitive that (I SAY) should be ubiquitous like GCD and LCM. 2020-03-27T05:17:52Z aeth: I mean, if the language comes with GCD and LCM why not include the rest? 2020-03-27T05:18:45Z Riastradh: (but I'm not actually going to lift a finger to make it ubiquitous) 2020-03-27T05:18:55Z Riastradh: (in any case pari/gp already has it, so) 2020-03-27T05:21:14Z oxum joined #scheme 2020-03-27T05:21:56Z aos quit (Quit: leaving) 2020-03-27T05:22:04Z aos joined #scheme 2020-03-27T05:24:00Z ear-the-art: )let ))x 1(( )+ x 1(( ;; no maybe not 2020-03-27T05:24:24Z ear-the-art: aeth, i think you should use .air 2020-03-27T05:24:45Z aeth: that's almost certainly already taken 2020-03-27T05:25:03Z aeth: really, any three letters are, except perhaps if there's a particularly unattractive combination 2020-03-27T05:26:08Z aos: .xxx ? 2020-03-27T05:26:13Z ear-the-art: there are about 17,576 possible 3-letter extensions 2020-03-27T05:26:33Z ear-the-art: i'm aiming for something 4-letter because that looks the coolest. 2020-03-27T05:26:43Z aos: .cool :D 2020-03-27T05:26:47Z ear-the-art: hah 2020-03-27T05:27:29Z ear-the-art: going from .htm to .html was like getting color from b&w 2020-03-27T05:27:39Z aeth: aos: .1337 2020-03-27T05:28:09Z aeth: aos: Also, I said unattractive, not attractive. .sex and .xxx are probably used. 2020-03-27T05:28:14Z ear-the-art: ohh i did not count numbers. 46,656 possible 3-alphanumeric combos 2020-03-27T05:28:26Z aeth: aos: It's unfortunate because both would be good for an sexpression file format extension 2020-03-27T05:28:43Z aos: haha true 2020-03-27T05:28:47Z ear-the-art: ohhh. well considering its IT/CS they might not be taken, those 2020-03-27T05:29:03Z aeth: I think I've seen .sexp before but I prefer .sxp for obvious reasons of avoiding being filtered by naively written filters. 2020-03-27T05:29:05Z ear-the-art: .sx[p] 2020-03-27T05:29:34Z zaifir: sex? is preferred Scheme style. 2020-03-27T05:29:44Z ear-the-art: .aero[ship] 2020-03-27T05:30:09Z ear-the-art: the 3 mystical puzzle pieces in my name i don't think are used. 2020-03-27T05:30:19Z ear-the-art: one being homonym to air 2020-03-27T05:30:32Z aeth: zaifir: well, I mean, it's a good example of the problem of the traditional Lisp style... when you actually have something ending in a p 2020-03-27T05:31:33Z aeth: ear-the-art: and it will always be .htm to me 2020-03-27T05:31:39Z aeth: only 90s kids will get this! 2020-03-27T05:33:49Z badkins joined #scheme 2020-03-27T05:37:54Z badkins quit (Ping timeout: 240 seconds) 2020-03-27T05:42:17Z lockywolf_ joined #scheme 2020-03-27T05:44:36Z ear-the-art: 'guile' was likely chosen as a name as it is kind of related to the word 'scheme'. 'gambit' being the other one that starts with G. what about 'trump scheme'? =P 2020-03-27T05:44:55Z lockywolf__ quit (Ping timeout: 250 seconds) 2020-03-27T05:46:50Z ggole joined #scheme 2020-03-27T05:49:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-27T05:49:43Z tryte quit (Ping timeout: 240 seconds) 2020-03-27T05:50:23Z cartwright quit (Ping timeout: 240 seconds) 2020-03-27T05:50:43Z madage quit (Ping timeout: 240 seconds) 2020-03-27T05:54:00Z aeth: ear-the-art: there should be a SRFI for a Scheme reader that reads the default figlet font. e.g. figlet '(+ 1 1)' 2020-03-27T05:54:05Z aeth: So you can write .scm files in that. 2020-03-27T05:54:52Z xelxebar joined #scheme 2020-03-27T05:56:20Z aeth: e.g. figlet '(define (f x)'; figlet ' (* x x))' >> test.scm 2020-03-27T05:58:06Z tryte joined #scheme 2020-03-27T05:58:26Z aeth: or I suppose each line needs >> test.scm 2020-03-27T06:00:27Z madage joined #scheme 2020-03-27T06:00:33Z aeth: Riastradh: heh, actually, what we were talking about was right where I had left the video a few hours ago, as r7rs-large Orange Edition. 2020-03-27T06:00:44Z aeth: well, primes at least. Probably not actually factoring them. 2020-03-27T06:03:17Z lisbeths joined #scheme 2020-03-27T06:03:30Z cartwright joined #scheme 2020-03-27T06:04:47Z lockywolf__ joined #scheme 2020-03-27T06:07:34Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-27T06:09:50Z ear-the-art: aeth, heh.. 2020-03-27T06:09:57Z aeth: wait no one raised their hands for adjustable strings? 2020-03-27T06:10:03Z aeth: I literally use that in the implementation of Airship Scheme... 2020-03-27T06:27:47Z lockywolf_ joined #scheme 2020-03-27T06:30:49Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-27T06:31:17Z lockywolf__ joined #scheme 2020-03-27T06:31:43Z seepel quit (Ping timeout: 250 seconds) 2020-03-27T06:33:05Z ear-the-art: what kind of adjustment 2020-03-27T06:33:53Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-27T06:40:43Z lockywolf_ joined #scheme 2020-03-27T06:43:14Z lockywolf__ quit (Ping timeout: 240 seconds) 2020-03-27T06:45:56Z oxum quit (Remote host closed the connection) 2020-03-27T06:48:07Z oxum joined #scheme 2020-03-27T06:50:54Z jobol joined #scheme 2020-03-27T06:57:34Z kjak quit (Ping timeout: 240 seconds) 2020-03-27T06:58:16Z lockywolf__ joined #scheme 2020-03-27T07:01:04Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-27T07:01:15Z lockywolf joined #scheme 2020-03-27T07:03:49Z lockywolf__ quit (Ping timeout: 264 seconds) 2020-03-27T07:05:51Z lockywolf quit (Remote host closed the connection) 2020-03-27T07:06:14Z lockywolf joined #scheme 2020-03-27T07:12:16Z lockywolf_ joined #scheme 2020-03-27T07:12:46Z lockywolf_ quit (Remote host closed the connection) 2020-03-27T07:14:37Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-27T07:16:58Z CyDefect joined #scheme 2020-03-27T07:18:26Z lisbeths quit (Ping timeout: 240 seconds) 2020-03-27T07:30:01Z lockywolf joined #scheme 2020-03-27T07:34:37Z badkins joined #scheme 2020-03-27T07:39:02Z badkins quit (Ping timeout: 256 seconds) 2020-03-27T07:39:13Z gravicappa quit (Ping timeout: 264 seconds) 2020-03-27T07:54:32Z aeth: ear-the-art: I'm guessing cl:vector-push-extend, but I could be wrong because all I have to go by is a line on a slide 2020-03-27T07:56:45Z lockywolf_ joined #scheme 2020-03-27T07:56:45Z f8l quit (Remote host closed the connection) 2020-03-27T07:58:01Z f8l joined #scheme 2020-03-27T07:59:37Z lockywolf quit (Ping timeout: 264 seconds) 2020-03-27T08:09:16Z stultulo joined #scheme 2020-03-27T08:10:03Z f8l quit (Ping timeout: 260 seconds) 2020-03-27T08:10:03Z stultulo is now known as f8l 2020-03-27T08:12:59Z ear-the-art: ah. i invest in disposable data. new string =) 2020-03-27T08:14:02Z civodul joined #scheme 2020-03-27T08:16:26Z vyzo quit (Ping timeout: 246 seconds) 2020-03-27T08:18:18Z oxum quit (Remote host closed the connection) 2020-03-27T08:28:14Z lockywolf_ quit (Ping timeout: 240 seconds) 2020-03-27T08:28:19Z aeth: ear-the-art: disposable data? new string? do you mean a write-only string that you can write characters to but never read from? :-) 2020-03-27T08:30:18Z zmt00 joined #scheme 2020-03-27T08:32:26Z zmt01 quit (Ping timeout: 240 seconds) 2020-03-27T08:33:38Z even4void joined #scheme 2020-03-27T08:41:29Z vyzo joined #scheme 2020-03-27T08:44:27Z edgar-rft: Let's write a new lisp for new strings 2020-03-27T08:45:00Z aeth: edgar-rft: too late. https://en.wikipedia.org/wiki/NewLISP 2020-03-27T08:45:38Z aeth: it looks like it's only for Dragonfly BSD because of its dragonfly logo, though 2020-03-27T08:51:44Z edgar-rft: is there an irc channel or a mailing list where we can ask whether newLisp uses newStrings? :-) 2020-03-27T08:52:03Z zig: ##lisp maybe? 2020-03-27T08:52:18Z oxum joined #scheme 2020-03-27T08:52:29Z aeth: edgar-rft: maybe they have a newSletter? 2020-03-27T08:52:48Z edgar-rft: omg :-) 2020-03-27T08:53:03Z CyDefect quit (Remote host closed the connection) 2020-03-27T08:53:12Z edgar-rft: worst juke since beginning of the universe 2020-03-27T08:55:41Z edgar-rft: aeth, you should get beaten for that joke, I'm still laughing... :-) 2020-03-27T08:57:06Z even4void quit (Quit: Textual IRC Client: www.textualapp.com) 2020-03-27T09:00:13Z oxum quit (Ping timeout: 264 seconds) 2020-03-27T09:07:00Z gravicappa joined #scheme 2020-03-27T09:07:41Z oxum joined #scheme 2020-03-27T09:12:53Z hinicetomeetyou joined #scheme 2020-03-27T09:13:00Z hinicetomeetyou left #scheme 2020-03-27T09:14:13Z CyDefect joined #scheme 2020-03-27T09:23:38Z terpri quit (Remote host closed the connection) 2020-03-27T09:24:16Z terpri joined #scheme 2020-03-27T09:31:11Z oxum quit (Read error: Connection reset by peer) 2020-03-27T09:31:44Z oxum joined #scheme 2020-03-27T09:33:40Z ngz joined #scheme 2020-03-27T09:34:01Z amirouche[m] joined #scheme 2020-03-27T09:35:45Z badkins joined #scheme 2020-03-27T09:35:57Z ear-the-art quit (Remote host closed the connection) 2020-03-27T09:36:16Z ear-the-art joined #scheme 2020-03-27T09:37:15Z zig quit (Quit: WeeChat 1.9.1) 2020-03-27T09:40:25Z badkins quit (Ping timeout: 264 seconds) 2020-03-27T09:42:16Z SGASAU joined #scheme 2020-03-27T09:51:54Z skapata quit (Quit: Ĝis!) 2020-03-27T09:59:01Z snits quit (Ping timeout: 264 seconds) 2020-03-27T10:07:54Z snits joined #scheme 2020-03-27T10:21:19Z SGASAU quit (Remote host closed the connection) 2020-03-27T10:21:29Z SGASAU joined #scheme 2020-03-27T10:32:54Z DKordic: My life was a lie. 2020-03-27T10:33:28Z DKordic: I thought C is the worst joke sine the beginning of Universe. 2020-03-27T10:33:45Z wasamasa: nah 2020-03-27T10:33:59Z wasamasa: look at ancient code of other allcaps languages 2020-03-27T10:37:54Z DKordic: C was glorified since, and that in itself counts for something. 2020-03-27T10:39:01Z DKordic: The bugward compatibility. PDP(11)... 2020-03-27T11:01:24Z ArthurStrong joined #scheme 2020-03-27T11:07:24Z ArthurStrong left #scheme 2020-03-27T11:09:32Z pjb quit (Read error: Connection reset by peer) 2020-03-27T11:09:44Z TCZ joined #scheme 2020-03-27T11:10:15Z pjb` joined #scheme 2020-03-27T11:27:35Z jcowan: The only real PDP-11ism in C is the ambiguity between signed and unsigned characters, which can be seen as a bug in the PDP-11 architecture. Nobody before or since has thought that extending an 8-bit value to 16 bits should involve sign extension. 2020-03-27T11:38:31Z lockywolf_ joined #scheme 2020-03-27T11:58:26Z pjb` quit (Quit: renaming) 2020-03-27T11:59:05Z pjb joined #scheme 2020-03-27T12:24:27Z daviid quit (Ping timeout: 265 seconds) 2020-03-27T12:32:59Z SGASAU` joined #scheme 2020-03-27T12:33:01Z SGASAU quit (Remote host closed the connection) 2020-03-27T12:37:57Z ggole: Having operations to sign or zero extend 8 to 16 bit values is common though? 2020-03-27T12:37:59Z xkapastel joined #scheme 2020-03-27T12:43:32Z badkins joined #scheme 2020-03-27T12:46:24Z m1dnight quit (Quit: WeeChat 2.4) 2020-03-27T12:46:55Z m1dnight_ joined #scheme 2020-03-27T12:47:28Z jcowan: Not when it's the only thing you have: MOVB moved one byte to a 16-bit register and sign extended it in the process, when it was obvious even then that bytes were not going to be used to represent signed integers. 2020-03-27T13:01:01Z SGASAU` quit (Remote host closed the connection) 2020-03-27T13:01:26Z SGASAU` joined #scheme 2020-03-27T13:06:23Z pjb: jcowan: why would it be obvious? If the processor had instructions to process bytes, who's to tell to the programmers not to use bytes to represent signed (or unsigned) integers? 2020-03-27T13:12:14Z ngz quit (Ping timeout: 265 seconds) 2020-03-27T13:15:01Z SGASAU` quit (Remote host closed the connection) 2020-03-27T13:15:13Z SGASAU` joined #scheme 2020-03-27T13:19:22Z jao joined #scheme 2020-03-27T13:35:34Z SGASAU` quit (Ping timeout: 240 seconds) 2020-03-27T13:38:21Z jboy quit (Quit: bye) 2020-03-27T13:39:25Z lritter joined #scheme 2020-03-27T13:42:32Z jboy joined #scheme 2020-03-27T13:48:54Z Tirifto joined #scheme 2020-03-27T13:52:20Z epony quit (Quit: reconf) 2020-03-27T14:02:13Z SGASAU joined #scheme 2020-03-27T14:06:38Z SGASAU quit (Ping timeout: 256 seconds) 2020-03-27T14:10:31Z TCZ quit (Quit: Leaving) 2020-03-27T14:13:46Z SGASAU joined #scheme 2020-03-27T14:15:19Z xelxebar quit (Remote host closed the connection) 2020-03-27T14:17:00Z xelxebar joined #scheme 2020-03-27T14:19:08Z epony joined #scheme 2020-03-27T14:29:34Z mr_machina joined #scheme 2020-03-27T14:29:50Z SGASAU quit (Remote host closed the connection) 2020-03-27T14:30:13Z SGASAU joined #scheme 2020-03-27T14:33:29Z lucasb joined #scheme 2020-03-27T14:59:12Z oxum quit (Remote host closed the connection) 2020-03-27T15:14:45Z SGASAU` joined #scheme 2020-03-27T15:16:39Z retropikzel joined #scheme 2020-03-27T15:19:21Z SGASAU quit (Ping timeout: 265 seconds) 2020-03-27T15:22:38Z badkins quit (Remote host closed the connection) 2020-03-27T15:27:06Z drakonis joined #scheme 2020-03-27T15:29:45Z luni joined #scheme 2020-03-27T15:31:45Z oxum joined #scheme 2020-03-27T15:32:06Z oxum quit (Remote host closed the connection) 2020-03-27T15:32:18Z oxum joined #scheme 2020-03-27T15:50:17Z brendyyn quit (Ping timeout: 265 seconds) 2020-03-27T16:04:09Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-27T16:21:20Z Khisanth joined #scheme 2020-03-27T16:40:54Z kjak joined #scheme 2020-03-27T16:42:39Z luni quit (Remote host closed the connection) 2020-03-27T16:47:44Z badkins joined #scheme 2020-03-27T16:49:18Z SGASAU` quit (Remote host closed the connection) 2020-03-27T16:49:24Z klovett quit (Remote host closed the connection) 2020-03-27T16:49:38Z SGASAU` joined #scheme 2020-03-27T16:51:00Z ear-the-art: aeth, immutable data. functional record updates =) 2020-03-27T16:55:27Z daviid joined #scheme 2020-03-27T17:18:58Z oxum quit (Remote host closed the connection) 2020-03-27T17:34:32Z hugh_marera joined #scheme 2020-03-27T17:40:11Z retropikzel quit (Remote host closed the connection) 2020-03-27T17:40:33Z retropikzel joined #scheme 2020-03-27T17:52:50Z oxum joined #scheme 2020-03-27T17:55:48Z klovett joined #scheme 2020-03-27T18:01:09Z oxum quit (Ping timeout: 250 seconds) 2020-03-27T18:02:41Z SGASAU` quit (Remote host closed the connection) 2020-03-27T18:03:11Z SGASAU` joined #scheme 2020-03-27T18:07:31Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-27T18:14:24Z mdhughes: And then Java immortalized that by having only signed integers, including 8-bit byte. 2020-03-27T18:15:38Z gwatt: I think the char was actually unsigned, not that it was particularly useful as such 2020-03-27T18:15:52Z mdhughes: You know how annoying it is to operate on byte streams in Java? Every operation ends up being like int2byte(byte2int(b) & 0x3f) 2020-03-27T18:16:50Z mdhughes: char is a 16-bit unsigned, yes. Very helpful when there was just UCS-16. 2020-03-27T18:17:29Z gwatt: It's been a while since I've worked with java, but why doesn't ``b & 0x3F`` work? 2020-03-27T18:17:51Z gwatt: that shouldn't have the high bit set in the literal to cause an issue 2020-03-27T18:18:13Z mdhughes: Well, in that case it would because I'm not touching the high bits. 2020-03-27T18:22:10Z skapata joined #scheme 2020-03-27T18:30:26Z oxum joined #scheme 2020-03-27T18:40:58Z oxum quit (Ping timeout: 256 seconds) 2020-03-27T18:45:05Z zig joined #scheme 2020-03-27T18:46:33Z zig quit (Client Quit) 2020-03-27T18:48:33Z badkins quit (Remote host closed the connection) 2020-03-27T18:50:33Z badkins joined #scheme 2020-03-27T18:55:15Z badkins quit (Ping timeout: 258 seconds) 2020-03-27T18:58:30Z xkapastel joined #scheme 2020-03-27T19:01:10Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-27T19:03:07Z whiteline quit (Quit: Leaving) 2020-03-27T19:03:44Z SGASAU` quit (Remote host closed the connection) 2020-03-27T19:03:58Z SGASAU` joined #scheme 2020-03-27T19:04:54Z whiteline joined #scheme 2020-03-27T19:13:49Z gioyik joined #scheme 2020-03-27T19:17:43Z oxum joined #scheme 2020-03-27T19:19:48Z whiteline quit (Quit: Leaving) 2020-03-27T19:21:48Z whiteline joined #scheme 2020-03-27T19:28:09Z oxum quit (Ping timeout: 252 seconds) 2020-03-27T19:33:36Z jcowan: It was obvious even when C began that char[] was going to be a type for strings, not for arrays of small signed integers, almost all of the time. 2020-03-27T19:36:16Z aeth: almost 2020-03-27T19:44:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-27T19:44:43Z xelxebar joined #scheme 2020-03-27T19:44:45Z madagest joined #scheme 2020-03-27T19:45:03Z cartwright quit (Ping timeout: 240 seconds) 2020-03-27T19:45:07Z fiddlerwoaroof_ joined #scheme 2020-03-27T19:45:23Z madage quit (Ping timeout: 240 seconds) 2020-03-27T19:45:40Z fiddlerwoaroof quit (Ping timeout: 265 seconds) 2020-03-27T19:45:55Z SGASAU` quit (Read error: Connection reset by peer) 2020-03-27T19:46:08Z SGASAU` joined #scheme 2020-03-27T19:47:05Z retropikzel quit (Quit: Leaving) 2020-03-27T19:50:38Z cartwright joined #scheme 2020-03-27T20:09:22Z m1dnight_ quit (Read error: Connection reset by peer) 2020-03-27T20:10:21Z m1dnight_ joined #scheme 2020-03-27T20:13:11Z SGASAU` quit (Remote host closed the connection) 2020-03-27T20:13:17Z ggole quit (Quit: Leaving) 2020-03-27T20:13:32Z SGASAU` joined #scheme 2020-03-27T20:15:29Z mr_machina quit (Remote host closed the connection) 2020-03-27T20:15:39Z mr_machina joined #scheme 2020-03-27T20:15:46Z m1dnight_ quit (Ping timeout: 256 seconds) 2020-03-27T20:16:43Z m1dnight_ joined #scheme 2020-03-27T20:24:49Z gioyik quit (Ping timeout: 264 seconds) 2020-03-27T20:30:06Z amirouche[m] quit (Changing host) 2020-03-27T20:30:06Z amirouche[m] joined #scheme 2020-03-27T20:30:06Z amirouche[m] quit (Changing host) 2020-03-27T20:30:06Z amirouche[m] joined #scheme 2020-03-27T20:36:37Z gioyik joined #scheme 2020-03-27T20:39:26Z m1dnight_ quit (Read error: Connection reset by peer) 2020-03-27T20:43:31Z amirouche[m]: Sorry, for this seemgly stoopid question: what make you stick to scheme for your favorite projects? 2020-03-27T20:45:14Z aeth: Well, there are four (overlapping) types of people here: (1) people who use Scheme, (2) people who implement a Scheme, (3) people who write standards (e.g. SRFIs) for Scheme, and (4) people who are in channels for lots of programming languages and might not primarily be interested in Scheme. 2020-03-27T20:45:56Z aeth: #4 is probably here because Scheme is grouped with FP and FP is in style, #2 and #3 are here because Scheme is small, simple, and easily extensible 2020-03-27T20:47:17Z aeth: As for #1, I suspect it has a similar sort of appeal to people as C does, except with a different model of computing. That is, it's a small language that you can fit in your head. 2020-03-27T20:47:32Z SGASAU` quit (Remote host closed the connection) 2020-03-27T20:48:07Z aeth: I've probably written at least 3x as much C++ as Scheme, if not far more than that. And yet I'd never claim to *know* C++. 2020-03-27T20:48:21Z SGASAU` joined #scheme 2020-03-27T20:48:28Z amirouche[m]: Yes, that is the rumor about c++ 2020-03-27T20:48:41Z amirouche[m]: My second choice is a language starting with P. 2020-03-27T20:48:50Z amirouche[m]: but P. has a lot of devs. 2020-03-27T20:49:05Z aeth: that doesn't narrow it down at all :-p 2020-03-27T20:49:11Z aeth: There's at least 3 2020-03-27T20:49:37Z amirouche[m]: Python Perl and P... 2020-03-27T20:49:53Z LeoNerd: Pike ? 2020-03-27T20:50:00Z aeth: PHP 2020-03-27T20:50:03Z jackhill: Pony? 2020-03-27T20:50:05Z aeth: the original "P" was PHP, at least in LAMP 2020-03-27T20:50:13Z aeth: amazing how far PHP has fallen :-p 2020-03-27T20:50:41Z amirouche[m]: ¯\_(ツ)_/¯ 2020-03-27T20:51:22Z jackhill: heh. Given the popularity of PHP frameworks like Wordpress and NextCloud, I wonder if we need a Sheme to PHP compiler, so I can target those with Scheme :) 2020-03-27T20:51:31Z aeth: Anyway, I have a particular style of Lisp that I can't really force onto people, but I can make it part of a Lisp stdlib if I write my own Lisp dialect, so, really... why not write a Scheme? 2020-03-27T20:52:11Z badkins joined #scheme 2020-03-27T20:52:16Z amirouche[m]: I am not sure what point you are trying to make 2020-03-27T20:52:28Z aeth: My most recent line? 2020-03-27T20:52:39Z amirouche[m]: yes 2020-03-27T20:53:28Z aeth: If you write a library that offers things that helps write things in your own style, nobody's going to use those. If you write your own language, however, you can selfishly place them in the standard library, though! 2020-03-27T20:53:33Z aeth: It's so evil it might actually work! 2020-03-27T20:54:24Z amirouche[m]: like zig lang. 2020-03-27T20:54:54Z aeth: or like Scheme... 2020-03-27T20:55:31Z aeth: The distinction, though, is that in a Lisp, you can have your own language extensions yourself, as syntactic macros. It's just that no one will use them. You don't have to write your own Scheme to e.g. add a for loop or whatever 2020-03-27T20:56:54Z badkins quit (Ping timeout: 256 seconds) 2020-03-27T20:57:24Z amirouche[m]: The deal is that a) scheme is a better language b) better community c) better implementations 2020-03-27T20:58:13Z amirouche[m]: whereas Python has nothing of the above but has a big community, and I feel pressured to follow the crowd 2020-03-27T20:58:27Z aeth: eh 2020-03-27T20:58:37Z aeth: c is arguable 2020-03-27T20:59:18Z aeth: I mean, compared to Python, at least it (probably) wins on performance, although compared to e.g. Rust (to use a new language as an example), it's far from the theoretical maximum performance you can get on a machine. 2020-03-27T20:59:26Z m1dnight_ joined #scheme 2020-03-27T21:01:18Z aeth: But there are other factors you might want in an implementation, too, like rich standard libraries. 2020-03-27T21:01:46Z amirouche[m]: rust is out of scope, I need to decide between Python and Scheme. 2020-03-27T21:02:51Z amirouche[m]: I already feel like an outcast, before even starting coding in Scheme, now I just buy a tshirt with outcast on it to make official 2020-03-27T21:03:03Z aeth: Well, I'm just saying that you can use C/C++/Rust as benchmarks of sorts. So in nearly all language implementations, that shows that there's definitely a lot of ground that could be gained as far as performance is concerned. 2020-03-27T21:03:45Z aeth: (Obviously you don't know what maximum performance is, but you can kind of assume that those languages probably get pretty close to what's possible.) 2020-03-27T21:05:40Z aeth: When a language claims to be "as fast as C" in something, that means that it's probably not worth improving that particular area any further. 2020-03-27T21:06:12Z gioyik quit (Ping timeout: 256 seconds) 2020-03-27T21:06:13Z aeth: Anyway, that's just a side point, there are other factors where implementations can be lacking, just less easy to boil down to objective numbers like performance. 2020-03-27T21:06:48Z aeth: amirouche[m]: Where do you need to choose between Python and Scheme? What kind of project? 2020-03-27T21:08:05Z amirouche[m]: aeth: for the record, I am zig, I just changed nickname on matrix / riot. My project is more or less summarized at https://github.com/amirouche/awesome-civkit/#awesome-civkit 2020-03-27T21:08:26Z amirouche[m]: that is sort of an e-governement kind of thing. 2020-03-27T21:11:12Z aeth: ah 2020-03-27T21:11:42Z aeth: amirouche[m]: yeah, as said earlier, that's too ambitious. Start with one part, like chat or wiki. 2020-03-27T21:11:46Z amirouche[m]: ? 2020-03-27T21:12:15Z aeth: amirouche[m]: your link, your feature list. 2020-03-27T21:12:20Z aeth: You have to start small and grow it. 2020-03-27T21:13:25Z aeth: oh, are you just bundling the software instead of cloning it? 2020-03-27T21:13:33Z aeth: That sounds a lot more feasible. 2020-03-27T21:14:11Z amirouche[m]: I think I will clone it. 2020-03-27T21:14:16Z amirouche[m]: I mean yes clone it is. 2020-03-27T21:14:36Z amirouche[m]: bundling those software defy the purpose of the project. 2020-03-27T21:14:42Z amirouche[m]: defy = goes against. 2020-03-27T21:15:06Z aeth: ah, okay 2020-03-27T21:15:22Z amirouche[m]: sory you bundle wikidata + wikipedia you already have like a dozen language in the stack, that is not possible on human scale. 2020-03-27T21:15:30Z aeth: Well, wiki and blog and forum software can probably share a common base so cloning a lot of things isn't as hard as it sounds (although it's not easy) 2020-03-27T21:15:34Z amirouche[m]: s/sory/say 2020-03-27T21:16:36Z amirouche[m]: One thing that is guiding my project is this quote "Personal Mastery: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual." taken from https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html 2020-03-27T21:17:28Z amirouche[m]: I do not think it is difficult, but it will take time. 2020-03-27T21:17:42Z amirouche[m]: bundling all those, is difficult. 2020-03-27T21:17:51Z amirouche[m]: but might take less time. 2020-03-27T21:17:57Z gioyik joined #scheme 2020-03-27T21:19:28Z amirouche[m]: but the cost of maintainance of a dozen of software all in different languages, that would take a lot of time and effort, compared to a single code base. 2020-03-27T21:21:46Z stepnem quit (Ping timeout: 240 seconds) 2020-03-27T21:22:31Z stepnem joined #scheme 2020-03-27T21:22:37Z TCZ joined #scheme 2020-03-27T21:25:21Z oxum joined #scheme 2020-03-27T21:33:23Z SGASAU` quit (Remote host closed the connection) 2020-03-27T21:33:39Z SGASAU` joined #scheme 2020-03-27T21:33:49Z oxum quit (Ping timeout: 264 seconds) 2020-03-27T21:36:12Z jobol: aeth, you wrote "But there are other factors you might want in an implementation, too, like rich standard libraries" 2020-03-27T21:36:54Z jobol: what about scheme? 2020-03-27T21:37:07Z aeth: jobol: Yes, because if your standard library is too small then everyone reimplements a 10% solution to the problem, and if the standard library is too large, then it quickly has dated assumptions because standard libraries are harder to update or replace than separate libraries. 2020-03-27T21:41:05Z amirouche[m]: it depends what is in the standard library? AFAIK the R 2020-03-27T21:41:31Z amirouche[m]: * it depends what is in the standard library? AFAIK the R7RS-large as non outdated libraries 2020-03-27T21:41:52Z amirouche[m]: How red-black trees can be out dated? 2020-03-27T21:43:37Z lockywolf_ quit (Read error: Connection reset by peer) 2020-03-27T21:43:48Z lockywolf_ joined #scheme 2020-03-27T21:50:55Z gravicappa quit (Ping timeout: 260 seconds) 2020-03-27T21:54:49Z jobol: are the scheme libraries linked to implementations? or is there a common lib (is slib outdated or not?) 2020-03-27T21:54:50Z TCZ quit (Quit: Leaving) 2020-03-27T21:55:33Z yosafbridge quit (Quit: Leaving) 2020-03-27T22:00:04Z yosafbridge joined #scheme 2020-03-27T22:03:39Z amirouche[m]: it depends. 2020-03-27T22:04:10Z amirouche[m]: I am not familiar with SLIB 2020-03-27T22:04:30Z amirouche[m]: usually it requires a few changes to make it work on another implementation or new version of the same implementation. 2020-03-27T22:05:07Z yosafbridge quit (Ping timeout: 250 seconds) 2020-03-27T22:07:59Z badkins joined #scheme 2020-03-27T22:19:01Z yosafbridge joined #scheme 2020-03-27T22:56:13Z badkins quit (Remote host closed the connection) 2020-03-27T22:56:29Z pilne joined #scheme 2020-03-27T22:56:49Z badkins joined #scheme 2020-03-27T23:01:01Z badkins quit (Ping timeout: 250 seconds) 2020-03-27T23:03:16Z luni joined #scheme 2020-03-27T23:26:45Z brendyyn joined #scheme 2020-03-27T23:28:11Z SGASAU`` joined #scheme 2020-03-27T23:29:03Z SGASAU` quit (Ping timeout: 252 seconds) 2020-03-27T23:30:19Z jobol quit (Quit: Leaving) 2020-03-27T23:30:57Z oxum joined #scheme 2020-03-27T23:35:41Z oxum quit (Ping timeout: 250 seconds) 2020-03-27T23:38:39Z badkins joined #scheme 2020-03-27T23:40:50Z gioyik quit (Ping timeout: 258 seconds) 2020-03-27T23:40:53Z TCZ joined #scheme 2020-03-27T23:45:59Z hugh_marera quit (Quit: hugh_marera) 2020-03-27T23:48:47Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-27T23:52:54Z seepel joined #scheme 2020-03-27T23:58:26Z Tirifto quit (Quit: Leaving.) 2020-03-28T00:00:07Z TCZ quit (Quit: Leaving) 2020-03-28T00:04:42Z seepel quit (Ping timeout: 256 seconds) 2020-03-28T00:07:57Z whiteline quit (Read error: Connection reset by peer) 2020-03-28T00:08:06Z hugh_marera joined #scheme 2020-03-28T00:08:16Z hugh_marera quit (Remote host closed the connection) 2020-03-28T00:08:20Z whiteline joined #scheme 2020-03-28T00:39:57Z lritter quit (Quit: Leaving) 2020-03-28T00:51:34Z ear-the-art quit (Ping timeout: 256 seconds) 2020-03-28T00:55:22Z TCZ joined #scheme 2020-03-28T01:00:38Z oxum joined #scheme 2020-03-28T01:14:58Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T01:15:28Z seepel joined #scheme 2020-03-28T01:22:04Z seepel quit (Ping timeout: 265 seconds) 2020-03-28T01:23:15Z oxum joined #scheme 2020-03-28T01:32:45Z badkins quit (Remote host closed the connection) 2020-03-28T01:34:04Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T01:37:44Z badkins joined #scheme 2020-03-28T01:42:22Z badkins quit (Ping timeout: 265 seconds) 2020-03-28T01:47:18Z oxum joined #scheme 2020-03-28T01:49:01Z pilne quit (Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)) 2020-03-28T01:56:18Z SGASAU``` joined #scheme 2020-03-28T01:57:31Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-28T01:59:01Z SGASAU`` quit (Ping timeout: 264 seconds) 2020-03-28T02:00:20Z SGASAU``` quit (Remote host closed the connection) 2020-03-28T02:01:49Z SGASAU``` joined #scheme 2020-03-28T02:03:51Z SGASAU``` quit (Remote host closed the connection) 2020-03-28T02:04:01Z SGASAU``` joined #scheme 2020-03-28T02:09:13Z daviid quit (Ping timeout: 264 seconds) 2020-03-28T02:31:15Z seepel joined #scheme 2020-03-28T02:32:01Z oxum quit (Ping timeout: 264 seconds) 2020-03-28T02:36:13Z seepel quit (Ping timeout: 264 seconds) 2020-03-28T02:40:51Z daviid joined #scheme 2020-03-28T02:47:14Z SGASAU``` quit (Ping timeout: 240 seconds) 2020-03-28T02:48:04Z SGASAU``` joined #scheme 2020-03-28T02:54:31Z luni quit (Remote host closed the connection) 2020-03-28T02:58:54Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T02:59:24Z lockywolf_ joined #scheme 2020-03-28T03:00:37Z lockywolf_ quit (Max SendQ exceeded) 2020-03-28T03:01:17Z lockywolf_ joined #scheme 2020-03-28T03:02:39Z lockywolf_ quit (Max SendQ exceeded) 2020-03-28T03:03:09Z lockywolf_ joined #scheme 2020-03-28T03:03:44Z TCZ quit (Quit: Leaving) 2020-03-28T03:04:06Z TCZ joined #scheme 2020-03-28T03:14:29Z TCZ quit (Quit: Leaving) 2020-03-28T03:38:31Z badkins joined #scheme 2020-03-28T03:40:28Z gioyik joined #scheme 2020-03-28T03:43:16Z badkins quit (Ping timeout: 256 seconds) 2020-03-28T03:47:01Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-28T03:59:27Z nibot joined #scheme 2020-03-28T04:01:13Z terpri quit (Remote host closed the connection) 2020-03-28T04:01:43Z terpri joined #scheme 2020-03-28T04:12:36Z nibot quit (Ping timeout: 240 seconds) 2020-03-28T04:35:57Z mr_machina quit (Remote host closed the connection) 2020-03-28T04:54:53Z mason left #scheme 2020-03-28T05:05:01Z SGASAU``` quit (Read error: Connection reset by peer) 2020-03-28T05:05:14Z SGASAU``` joined #scheme 2020-03-28T05:06:17Z badkins joined #scheme 2020-03-28T05:06:45Z badkins quit (Remote host closed the connection) 2020-03-28T05:07:14Z badkins joined #scheme 2020-03-28T05:11:40Z badkins quit (Ping timeout: 256 seconds) 2020-03-28T05:37:23Z mdhughes: Scheme's appeal is simple for me: It's a pleasant dynamic language that compiles to fast binaries and has reasonable C FFI. 2020-03-28T05:38:01Z jao quit (Ping timeout: 264 seconds) 2020-03-28T05:38:19Z nulquen quit (Quit: Leaving) 2020-03-28T05:38:32Z mdhughes: Python's obscenely slow except in tight loops of C-optimized function calls. Julia can't make binaries. Objective-C only runs on Mac (or mulle-objc, but that's a one-man port). 2020-03-28T05:40:25Z mdhughes: I have negative interest in doing manual memory management or static typing. So really it's at point where LISP or Scheme are my options, and LISP is hideous and the community's not nice. 2020-03-28T05:41:38Z mdhughes: If I didn't mind staying on Mac, and Apple hadn't screwed us with C++-with-worse-syntax Swift, I'd be happy to stay Objective-C forever. 2020-03-28T05:42:10Z gravicappa joined #scheme 2020-03-28T05:45:00Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-28T05:50:49Z lockywolf joined #scheme 2020-03-28T05:53:40Z aeth: mdhughes: That's the good thing about Python... it makes (almost... non-JIT Lua, and regular Ruby are slower) everything fast by comparison! 2020-03-28T05:53:49Z aeth: In 1995, Scheme wouldn't have been seen as a fast choice 2020-03-28T05:57:03Z aeth: That, and any language that doesn't have real, non-green threads (although IDK how many Schemes do... it's certainly not mandated) is about 5x-10x slower than it otherwise would be on modern hardware assuming that the task is parallelizable. 2020-03-28T05:57:22Z aeth: (Well, without introducing the overhead of running 16 interpreter processes) 2020-03-28T05:59:38Z aeth: If (and that's a big if) your language can use all 12-32 cores well, it might even win some performance contests outright that it absolutely shouldn't be winning. 2020-03-28T06:02:41Z aeth: Although I don't know how big a deal this last point is because I remember both Clojure and Haskell evangelists making a big deal about this point (though the core numbers were smaller) maybe 8 years ago now and clearly everyone didn't switch over. 2020-03-28T06:08:17Z gioyik quit (Ping timeout: 250 seconds) 2020-03-28T06:16:33Z lockywolf: aeth, matlab is slower than python 2020-03-28T06:16:52Z lockywolf: unless you know dark magic 2020-03-28T06:17:02Z lockywolf: *black magic 2020-03-28T06:17:43Z lockywolf: does scheme has some nonrecursive display-like procedure? 2020-03-28T06:18:24Z lockywolf: (cons (cons 1 2) 3) => #pair< #pair, 3> 2020-03-28T06:18:27Z lockywolf: something like that 2020-03-28T06:26:25Z pjb: lockywolf: programming languages don't tend to include all the trivial little functions you may imagine. This is not even leftpad!!! 2020-03-28T06:28:06Z lockywolf: pjb, programming languages, just like real languages only have one assumed property -- nothing can be assumed 2020-03-28T06:28:52Z oxum joined #scheme 2020-03-28T06:29:51Z lockywolf: since now I'm writing a rudimentary scheme, I want to name this tiny little function by something traditional, not _@bogus_function_#301 2020-03-28T06:31:34Z seepel joined #scheme 2020-03-28T06:32:12Z pjb: CL uses global (dynamic) variables to limit normal printing. (let ((*print-level* 1)) (print (cons (cons 1 2) 2))) prints (# . 2) 2020-03-28T06:33:51Z oxum quit (Ping timeout: 250 seconds) 2020-03-28T06:33:58Z mdhughes: Chez presumably was fast even back in the '90s, but I didn't have a license then. 2020-03-28T06:41:22Z seepel quit (Remote host closed the connection) 2020-03-28T06:41:48Z seepel joined #scheme 2020-03-28T07:17:28Z oxum joined #scheme 2020-03-28T07:20:35Z oxum quit (Remote host closed the connection) 2020-03-28T07:20:49Z oxum joined #scheme 2020-03-28T07:32:42Z lockywolf quit (Remote host closed the connection) 2020-03-28T07:34:43Z lockywolf joined #scheme 2020-03-28T07:49:08Z oxum quit (Remote host closed the connection) 2020-03-28T07:52:19Z passchaos joined #scheme 2020-03-28T07:58:02Z oxum joined #scheme 2020-03-28T08:01:04Z oxum quit (Remote host closed the connection) 2020-03-28T08:01:17Z oxum joined #scheme 2020-03-28T08:04:46Z tessier quit (Ping timeout: 240 seconds) 2020-03-28T08:05:00Z tessier joined #scheme 2020-03-28T08:05:00Z tessier quit (Changing host) 2020-03-28T08:05:00Z tessier joined #scheme 2020-03-28T08:16:20Z oxum quit (Remote host closed the connection) 2020-03-28T08:27:14Z aeth: mdhughes: well, I mean, that's what killed so many languages in the 90s, e.g. Smalltalk 2020-03-28T08:27:30Z aeth: "nobody" had a license, but everybody could use C++ 2020-03-28T08:28:02Z mdhughes: Smalltalk's problems were it wasn't fast, your code was trapped in a one-vendor silo, you couldn't ship a binary, and it couldn't FFI to C. 2020-03-28T08:28:39Z mdhughes: Paying $500-5000 for a compiler was fine, paying for one that sucked was no bueno. 2020-03-28T08:29:45Z mdhughes: If I'd known Chez Scheme was fast and useful then, I'd've happily paid as much as I did for VAJ, which was, what, $2500? 2020-03-28T08:29:46Z aeth: "fine" 2020-03-28T08:30:11Z lockywolf_ joined #scheme 2020-03-28T08:30:34Z mdhughes: If you have a business, it's an expense, it comes off your taxes. If you're employed, you spend a morning writing a memo and your employer pays for it. 2020-03-28T08:31:27Z aeth: I mean, if your business chooses to use that language. Businesses, as the 90s showed, tended to choose Java rather than interesting languages. 2020-03-28T08:32:14Z seepel quit (Ping timeout: 265 seconds) 2020-03-28T08:32:16Z mdhughes: I was always able to pick whatever tools I wanted as long as the job got done. At the time I did pick Java, which was new and risky, because it was 10x more productive than C or C++. 2020-03-28T08:32:50Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-28T08:33:01Z mdhughes: But I had friends who went with Perl, or PHP, or Erlang, and did fine, too. 2020-03-28T08:36:50Z aeth: I guess I can't just put my mind in a 90s mentality of paying $5000 for a compiler 2020-03-28T08:37:05Z aeth: I wouldn't be able to make myself pay money for a web browser, either 2020-03-28T08:37:12Z mdhughes: Fucking kids today. 2020-03-28T08:38:05Z mdhughes: I paid, I think $500/year for ADC for 10 years? To get Xcode, a ticket to WWDC, and a hardware discount. 2020-03-28T08:38:30Z mdhughes: Windows people were paying $X,000/year for MSDN to get a giant binder of CDROMs every year. 2020-03-28T08:39:07Z mdhughes: Now the most expensive compiler I know of is IntelliJ/AppCode, which is $100-something/year. 2020-03-28T08:39:38Z mdhughes: But you got actual documentation, support, and useful products when you PAID for tools. Now everything's shit, with no docs, just read the source. 2020-03-28T08:43:15Z mdhughes: Also, I am going to complain again that the Mac is the last UNIX workstation on the market. Fuck, I miss SGI and SUN. The SGI Indigo might've been my favorite computer. The SparcStations were close seconds. 2020-03-28T08:44:12Z mdhughes: Everything else is just PC dumpster-diving garbage strung together with razor-wire and filled with the worst software in the world. It's infuriating trying to get a clean system to do anything on. 2020-03-28T08:44:20Z aeth: I mean, yeah, I'm not particularly young, but I'm in the non-Mac Unix world and I'm not old enough to have seen the Unix workstations. 2020-03-28T08:44:44Z mdhughes: Linux is not UNIX. 2020-03-28T08:45:04Z aeth: Oracle bought Sun in January 2010... was that the death of workstations? Solaris was the last workstation OS ordinary people talked about. 2020-03-28T08:45:31Z aeth: mdhughes: Most Linux distributions are not UNIX, but only because "Linux" the name has more value than "UNIX" the name so they don't bother getting certified. I think a few have, at least in the past. 2020-03-28T08:45:46Z mdhughes: They weren't that long ago, though. Oracle shipped one or two non-Sparc "Solaris x86" workstations, which sucked but less than a garbage PC running Linux. 2020-03-28T08:45:55Z aeth: Amusingly, OS X is an officially certified UNIX. 2020-03-28T08:46:26Z mdhughes: No, Linux is grossly inferior to a UNIX. *BSD is closer to a real UNIX, but you have to work at it to get all the management tools back up. 2020-03-28T08:47:04Z aeth: one currently compliant Linux distro, at least on Wikipedia. EulerOS. https://en.wikipedia.org/wiki/Single_UNIX_Specification#Currently_registered_UNIX_systems 2020-03-28T08:47:48Z ecraven: mdhughes: how is it inferior? 2020-03-28T08:49:31Z mdhughes: Nothing like dtrace. Most use a toy filesystem instead of ZFS. Process management is a giant monolithic kernel. User jails are trivially broken on Linux. 2020-03-28T08:50:43Z mdhughes: I will say at least systemd is trying to make process management modern, but it's a mess compared to launchd on Mac or (whatever it was called, been a while) on Solaris. 2020-03-28T08:50:44Z aeth: mdhughes: How about the hardware? What do you think about the new x86-64 workstations like the ones with AMD Threadripper CPUs? 2020-03-28T08:51:57Z mdhughes: Haven't seen 'em, but benchmarking process performance and videogames isn't what UNIX is for, it's for running a bunch of server processes, often with dangerous user code, and making managing that practical instead of a maze of command-line tools with no designer. 2020-03-28T08:52:57Z mdhughes: SGI was all about the graphics and video processing pipeline, which is what OS X does today. 2020-03-28T08:52:57Z aeth: https://www.servethehome.com/amd-ryzen-threadripper-3970x-review-32-cores-of-madness/ 2020-03-28T08:52:57Z oxum joined #scheme 2020-03-28T08:53:00Z aeth: https://www.servethehome.com/amd-ryzen-threadripper-3990x-review-64-cores-for-a-workstation/ 2020-03-28T08:53:48Z aeth: As far as graphics, heh, OS X is terrible with graphics. They want everyone to use Metal and they deprecated OpenGL. 2020-03-28T08:53:56Z mdhughes: If I was going to do video, I'd buy a new Mac Pro; they seem quite nice. 2020-03-28T08:54:18Z mdhughes: Graphics isn't about damned videogames and making porting DirectX easy. 2020-03-28T08:54:21Z amirouche[m]: re threadripper: that is a lot of cores. 2020-03-28T08:54:45Z mdhughes: It's about things like 3D modelling and movie editing and CGI rendering. 2020-03-28T08:54:55Z aeth: Serious applications are way more likely to be using OpenGL. Games will probably be using some third party engine, which might be one of the few entities that will bother supporting Metal on the desktop. 2020-03-28T08:55:15Z mdhughes: Which is a cruel travesty on Linux, because it has either X11 or Wayland, which are both incompetent disasters for moving pixels around. 2020-03-28T08:56:03Z mdhughes: Nobody uses OpenGL anymore. Windows never did, Mac moved to Metal 5 years ago, because they're more efficient for moving pixels. 2020-03-28T08:56:24Z mdhughes: GL was awesome on SGI 25-30 years ago, literally that's when I learned to program it. 2020-03-28T08:57:02Z mdhughes: But the world has moved on since then. Vulkan is at least a modern API, but it didn't win, the platform-specific ones which are very slightly more efficient did. 2020-03-28T08:57:06Z aeth: OpenGL has changed 2-3x since then, of course, it kept the mess of the old versions around for compatibility, which is why they probably moved to Vulkan. 2020-03-28T08:58:06Z aeth: The thing is, Metal isn't more efficient than Vulkan. It's absolute trash, last I checked. It's a monopolist move. Apple doesn't care at all about desktops anymore. They care about iOS, and they aren't going to support Vulkan on iOS because Android supports Vulkan and they don't want to make cross-platform easy. 2020-03-28T08:58:14Z aeth: If they sacrifice macOS, they don't care. 2020-03-28T08:58:40Z wasamasa: did someone recreate that dxvk miracle with metal? 2020-03-28T08:59:02Z aeth: All I know about is https://moltengl.com/moltenvk/ 2020-03-28T08:59:11Z aeth: So you can run DirectX on Vulkan on Metal. But sure, it'll be faster. 2020-03-28T08:59:56Z mdhughes: You're completely wrong. Metal's designed for directly accessing a GPU. And of course Apple doesn't support competitors, their entire business is based on not being beholden to anyone else. 2020-03-28T09:00:14Z wasamasa: I remember it not being opensource 2020-03-28T09:00:17Z mdhughes: That's why ARM Macs are coming in the next year or two; stop depending on Intel. 2020-03-28T09:00:35Z aeth: Metal, Vulkan, and DirectX 12 are, more or less, the exact same concept. Metal game first and came from Apple so it is, afaik, the worst of the three as far as accessing the "metal" is concerned, although my knowledge might be out of date. 2020-03-28T09:02:07Z mdhughes: I'm sure it is. Apple's intent for the iMac Pro & Mac Pro has been getting back the video editing share they've lost, and Metal's a big part of that push. The reviews all show bigger bars for Metal these days, but I don't have both to benchmark. 2020-03-28T09:02:11Z aeth: It doesn't really matter, though, even if Metal is the most efficient. Apple doesn't ship Nvidia GPUs and AMD doesn't ship competitive high-end GPUs. 2020-03-28T09:02:41Z oxum quit (Ping timeout: 265 seconds) 2020-03-28T09:02:42Z mdhughes: AMD doesn't ship videogame GPUs, they ship really excellent video-processing & math GPUs. 2020-03-28T09:02:54Z aeth: Depends on the task. 2020-03-28T09:03:43Z mdhughes: If you see a benchmark claim "Oooh, Call of Duty runs faster!", that's irrelevant. "Can edit & render a movie 25%% faster" is what matters. 2020-03-28T09:03:55Z aeth: As far as "The reviews all show bigger bars for Metal" how can you do an apples to apples comparison here? Are you comparing it to the OpenGL that they stopped updating 8 or so years ago? Are you comparing it to Vulkan-on-Metal? Are you comparing it to DirectX 12 in Bootcamp? 2020-03-28T09:04:34Z _apg quit (Ping timeout: 240 seconds) 2020-03-28T09:05:38Z mdhughes: You know how to duck "apple metal benchmark" as well as anyone… 2020-03-28T09:07:29Z brendyyn: mdhughes: why is wayland terrible for "moving pixles around"? 2020-03-28T09:08:09Z aeth: No surprise. The results are against (the already notoriously out of date and buggy Mac OS implementation of) OpenGL. Though there aren't really many of them. https://duckduckgo.com/?q=apple+%22metal%22+benchmark&ia=web 2020-03-28T09:09:34Z aeth: You cannot benchmark Metal in a fair comparison against modern, AZDO OpenGL 4.6; Vulkan; or DirectX 12 because Apple doesn't support any of those in macOS, although to be fair, they can't support DX12. 2020-03-28T09:09:34Z mdhughes: This is nice, tho: https://browser.geekbench.com/metal-benchmarks 2020-03-28T09:10:37Z mdhughes: You can run Vulkan, but it'll just use Metal underneath. So I don't know what you think that'd prove? 2020-03-28T09:10:55Z wasamasa: less work for devs 2020-03-28T09:10:56Z mdhughes: You can't fairly compare OpenGL to DirectX, either, because on Windows it's DirectX. 2020-03-28T09:11:29Z mdhughes: What work? Porting Final Cut Pro X to Linux? Nobody would do that. 2020-03-28T09:11:35Z aeth: On Windows, you can run OpenGL newer than 1.x, but the driver vendors provide it, not Microsoft. Microsoft, of course, doesn't want you to use it. AMD doesn't support it well, but Nvidia does. 2020-03-28T09:11:49Z aeth: There are libraries that do the dance you need to dance to get modern OpenGL on Windows. 2020-03-28T09:12:57Z aeth: Apple, on the other hand, writes its own (terrible) drivers and doesn't permit driver vendors to provide newer versions of APIs that it neglects. I think the last OpenGL version it ships is 4.1, from 2010, iirc. 2020-03-28T09:13:02Z mdhughes: That's what this is all about, not benchmarking theoretical performance: A workstation is a station, see, for working. Not for playing Call of Duty. Not for putting the most triangles on the screen. But managing some large number of high-power jobs. 2020-03-28T09:13:36Z mdhughes: Apple's drivers don't crash, and don't have to live in the kernel like tinkertoy Linux. 2020-03-28T09:13:56Z aeth: Okay, great, let's see how Apple does in CUDA performance, which quite a few workstations doing very serious work care about... Oh, that's right, they only ship AMD GPUs. 2020-03-28T09:14:33Z mdhughes: Oh no your favorite proprietary vendor isn't supported by a workstation vendor who doesn't like external dependencies. Big shock. 2020-03-28T09:15:42Z aeth: I'm just saying, Apple is not a first-class platform for GPU-accelerated activities, whether it be graphical or compute. 2020-03-28T09:15:59Z aeth: I don't like Nvidia, but I can't deny that they have a near-monopoly in some compute domains. 2020-03-28T09:16:00Z mdhughes: If you want all garbage hardware supported, Windows does that. But they won't run the software you want, either. 2020-03-28T09:17:35Z aeth: Apple doesn't ship Nvidia GPUs and doesn't ship AMD CPUs. A workstation for the price of the Mac Pro using Windows or Linux simply is going to be more generally capable, based on which vendors are currently leading which sectors. 2020-03-28T09:18:21Z mdhughes: Anyway. I have real work to do on my last of the UNIX workstations. It may not have your favorite dumpster-dived parts, but it does have a real OS, unlike Linux or Windows. 2020-03-28T09:19:19Z aeth: I'm not that big of a fan of Linux. Its source code is horrifying. At least I can see that horrifying source, though. 2020-03-28T09:46:40Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T09:49:25Z lockywolf joined #scheme 2020-03-28T10:00:18Z oxum joined #scheme 2020-03-28T10:05:27Z oxum quit (Ping timeout: 260 seconds) 2020-03-28T10:09:26Z ear-the-art joined #scheme 2020-03-28T10:59:07Z rotty quit (Ping timeout: 260 seconds) 2020-03-28T11:03:52Z cpape` joined #scheme 2020-03-28T11:04:08Z cpape quit (Read error: Connection reset by peer) 2020-03-28T11:15:59Z wasamasa quit (Read error: Connection reset by peer) 2020-03-28T11:16:23Z wasamasa joined #scheme 2020-03-28T11:19:13Z wasamasa quit (Client Quit) 2020-03-28T11:20:28Z wasamasa joined #scheme 2020-03-28T11:23:13Z lockywolf_ joined #scheme 2020-03-28T11:26:24Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-28T11:35:12Z oxum joined #scheme 2020-03-28T11:39:47Z oxum quit (Ping timeout: 250 seconds) 2020-03-28T11:41:27Z passchaos quit (Remote host closed the connection) 2020-03-28T12:11:52Z lockywolf__ joined #scheme 2020-03-28T12:13:18Z lockywolf__ quit (Max SendQ exceeded) 2020-03-28T12:13:52Z lockywolf__ joined #scheme 2020-03-28T12:14:28Z lockywolf_ quit (Ping timeout: 258 seconds) 2020-03-28T12:19:58Z lockywolf_ joined #scheme 2020-03-28T12:20:49Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:21:39Z xkapastel joined #scheme 2020-03-28T12:22:18Z lockywolf__ quit (Ping timeout: 265 seconds) 2020-03-28T12:22:27Z lockywolf_ joined #scheme 2020-03-28T12:23:19Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:23:41Z lockywolf_ joined #scheme 2020-03-28T12:24:45Z lockywolf_ quit (Max SendQ exceeded) 2020-03-28T12:25:27Z lockywolf_ joined #scheme 2020-03-28T12:26:18Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:26:43Z ggole joined #scheme 2020-03-28T12:26:57Z lockywolf_ joined #scheme 2020-03-28T12:27:53Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:28:21Z lockywolf_ joined #scheme 2020-03-28T12:29:18Z lockywolf_ quit (Max SendQ exceeded) 2020-03-28T12:29:54Z lockywolf_ joined #scheme 2020-03-28T12:30:50Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:31:46Z lockywolf_ joined #scheme 2020-03-28T12:32:50Z lockywolf_ quit (Remote host closed the connection) 2020-03-28T12:33:16Z lockywolf_ joined #scheme 2020-03-28T12:34:26Z lockywolf_ quit (Max SendQ exceeded) 2020-03-28T12:36:33Z lockywolf joined #scheme 2020-03-28T12:37:19Z lockywolf quit (Remote host closed the connection) 2020-03-28T12:37:46Z SGASAU``` quit (Remote host closed the connection) 2020-03-28T12:37:55Z SGASAU``` joined #scheme 2020-03-28T12:38:00Z lockywolf joined #scheme 2020-03-28T12:38:49Z lockywolf quit (Remote host closed the connection) 2020-03-28T12:38:58Z TCZ joined #scheme 2020-03-28T12:39:41Z lockywolf joined #scheme 2020-03-28T12:40:19Z lockywolf quit (Remote host closed the connection) 2020-03-28T13:09:10Z oxum joined #scheme 2020-03-28T13:16:57Z oxum quit (Ping timeout: 258 seconds) 2020-03-28T13:17:11Z lritter joined #scheme 2020-03-28T13:26:30Z oxum joined #scheme 2020-03-28T13:31:24Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T13:35:00Z oxum joined #scheme 2020-03-28T13:39:14Z oxum quit (Ping timeout: 240 seconds) 2020-03-28T13:43:27Z rubic88 quit (Ping timeout: 240 seconds) 2020-03-28T13:49:36Z daviid quit (Ping timeout: 256 seconds) 2020-03-28T14:01:51Z rubic88 joined #scheme 2020-03-28T14:05:27Z badkins joined #scheme 2020-03-28T14:05:28Z oxum joined #scheme 2020-03-28T14:13:12Z oxum quit (Remote host closed the connection) 2020-03-28T14:15:32Z rubic88 quit (Read error: Connection reset by peer) 2020-03-28T14:20:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-28T14:20:53Z rubic88 joined #scheme 2020-03-28T14:21:54Z klovett quit (Ping timeout: 240 seconds) 2020-03-28T14:31:15Z civodul joined #scheme 2020-03-28T14:33:17Z klovett joined #scheme 2020-03-28T14:40:14Z xelxebar joined #scheme 2020-03-28T14:46:03Z greaser|q quit (Quit: HYDRA IRC LOL) 2020-03-28T14:47:50Z greaser|q joined #scheme 2020-03-28T14:48:38Z terpri quit (Remote host closed the connection) 2020-03-28T14:49:44Z terpri joined #scheme 2020-03-28T14:50:53Z oxum joined #scheme 2020-03-28T14:55:30Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T14:56:27Z brendyyn quit (Quit: WeeChat 2.7.1) 2020-03-28T15:06:57Z hugh_marera joined #scheme 2020-03-28T15:09:43Z terpri quit (Remote host closed the connection) 2020-03-28T15:10:17Z terpri joined #scheme 2020-03-28T15:14:03Z badkins quit (Remote host closed the connection) 2020-03-28T15:20:17Z TCZ quit (Quit: Leaving) 2020-03-28T15:30:23Z oxum joined #scheme 2020-03-28T15:35:10Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T15:39:27Z whiteline quit (Quit: Leaving) 2020-03-28T15:40:20Z whiteline joined #scheme 2020-03-28T15:49:03Z srandon111 joined #scheme 2020-03-28T15:49:21Z srandon111: guys anyone using racket here? i wanted to understand if drracket is commonly used? 2020-03-28T15:49:26Z srandon111: because i find it cumbersome 2020-03-28T15:49:29Z srandon111: i am used to vim 2020-03-28T15:51:14Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-28T15:54:23Z Tirifto joined #scheme 2020-03-28T15:55:27Z jcowan: Getting UNIX certified costs a mint, and you have to pay each time you create a new version. 2020-03-28T15:58:53Z srandon111: jcowan, what? 2020-03-28T16:01:33Z jcowan: https://www.opengroup.org/openbrand/Brandfees.htm 2020-03-28T16:06:14Z TCZ joined #scheme 2020-03-28T16:06:37Z Riastradh: srandon111: followup to prior conversation, from before you joined 2020-03-28T16:08:11Z srandon111: okok 2020-03-28T16:09:10Z srandon111: guys i wasa reading how to design programs... and i wanted to understand what it means to design data and functions in an orthogonal way so that they are independent can you make me an example of when these are not orthogonal and hence not independent? 2020-03-28T16:11:00Z badkins joined #scheme 2020-03-28T16:11:20Z wasamasa is now known as wasa 2020-03-28T16:16:07Z pjb: srandon111: that sounds quite strange, because on the contrary, the code will be strictly homothetic to the data structure. If you use a vector, you will have a loop to process elements. If you have a record, you will have a sequence to process the fields. If you have a union, you will have a test to select the cases. If you have a recursive structure such as a tree, you will have a recursive function. And so on. 2020-03-28T16:19:47Z pjb: srandon111: on the other hand, by introducing abstractions, you define "virtual" (or "high level" data structures) that can and should often be independent of the actual implementation data structure. Since abstractions are often implemented as a functional abstraction, ie. a bunch of function signatures, aka API, we can and must indeed aim at a certain independence between that (the interface), and the implementation. 2020-03-28T16:20:08Z pjb: But it's not so much a question of data vs function, than of interface vs implementation. 2020-03-28T16:20:24Z srandon111: okok thanks pjb i think i got your point 2020-03-28T16:20:38Z wasa: true, the more valuable lesson here is that interfaces are less pain in the long term than leaking implementation details 2020-03-28T16:20:57Z pjb: And most often, the implementation is a trivial implementation of the API, with complete correspondance between the internal and external data structure. 2020-03-28T16:20:59Z wasa: the exact definition of the interface is something worth pondering 2020-03-28T16:21:11Z wasa: it doesn't have to be trivial record accessors 2020-03-28T16:21:26Z pjb: wasa: indeed, even if the first implementation is. 2020-03-28T16:22:03Z wasa: for an example of how not to do it, take a look at opengl, wayland and who knows what else 2020-03-28T16:22:47Z pjb: Well, I don't know those examples, but the really bad API would be the API that would expose data structure, instead of just functions. 2020-03-28T16:22:57Z wasa: that's what they do 2020-03-28T16:23:12Z wasa: it's hard to use them without C 2020-03-28T16:23:33Z pjb: ie. if you have a list of something in an interface, it's better to define it as (number-of-things) -> integer (get-thing-at index) -> thing rather than (get-list-of-things) -> list of things. 2020-03-28T16:23:54Z pjb: and foremost if the list of thing returned is the internal one! 2020-03-28T16:23:56Z wasa: opengl gives you raw pointers, wayland expects native endianness and other C-isms 2020-03-28T16:24:25Z pjb: because you might want to change the implementation, and use a vector, or a hash, or some other data structure (or compute the nth thing only when it's requested) later. 2020-03-28T16:24:34Z pjb: wasa: yes, that's bad. 2020-03-28T16:26:09Z pjb: But on the other hand, if internally you switch to vector, you can always convert it to a list for (get-list-of-things). This would be bad performance-wise, but not bad in an absolute way. Similarly, if an API gives eg. you raw pointers, it could be not so bad, if you can just consider them as handle, and not have to dereference them yourself. 2020-03-28T16:27:00Z xkapastel joined #scheme 2020-03-28T16:29:13Z jcowan: pjb: I disagree: that abstraction overhead is completely unnecessary in many cases. 2020-03-28T16:29:23Z wasa: it's funny how X of all the things makes it easier to create servers and clients than its successor 2020-03-28T16:29:35Z jcowan: Which successor? 2020-03-28T16:29:42Z wasa: wayland 2020-03-28T16:30:15Z jcowan: "It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." —Alan Perlis 2020-03-28T16:32:47Z pjb: Sure. But one data structure can be a complex combination of 10 data structures… 2020-03-28T16:33:03Z amirouche[m]: "Uniform Metaphor: A language should be designed around a powerful metaphor that can be uniformly applied in all areas. " https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html 2020-03-28T16:34:02Z pjb: wasa: it's not funny, it's the essence of X, since it was written in lisp originally, and designed from the start to have a client/server architecture. 2020-03-28T16:35:33Z srandon111: SICP is interesting but seems hard 2020-03-28T16:36:41Z wasa: it's a university course, lol 2020-03-28T16:36:57Z srandon111: yes i know 2020-03-28T16:49:40Z zaifir: wasa: SICP is much more vast and encyclopedic than any university course I've ever taken. 2020-03-28T16:50:32Z zaifir: srandon111: It's an amazing book. 2020-03-28T16:50:55Z srandon111: zaifir, i know 2020-03-28T16:51:14Z srandon111: zaifir, any suggestion on how to read it or double check the understanding 2020-03-28T16:51:14Z srandon111: ? 2020-03-28T16:53:04Z zaifir: srandon111: Not particularly, except to watch the lectures, go at your own pace, and ask questions. Also, lots of people have posted their notes and solutions online, which can be helpful when you get stuck. 2020-03-28T16:53:20Z srandon111: zaifir, where? 2020-03-28T16:53:27Z srandon111: i mean where are the questions? 2020-03-28T16:53:40Z zaifir: You mean the solutions? 2020-03-28T16:54:26Z zaifir: A web search for 'sicp solutions' turns up a bunch of results. People were working on it seriously at http://community.schemewiki.org/?SICP-Solutions for a while, though it's certainly incomplete. 2020-03-28T16:55:06Z zaifir: Actually, that's a really good resource for the first 4 chapters or so. 2020-03-28T16:56:21Z srandon111: zaifir, you mean that they still didn't do all the solutions??? 2020-03-28T16:57:01Z zaifir: srandon111, no! Some of the exercises in SICP are really open-ended. One includes the comment "A good solution to this exercise is probably worth a Ph.D." 2020-03-28T16:57:08Z jao joined #scheme 2020-03-28T16:57:19Z srandon111: zaifir, ahahah daaamn 2020-03-28T16:57:44Z zaifir: srandon111: But don't let that worry you. Most are fun and quick. 2020-03-28T16:59:14Z zaifir: srandon111: Also, here are the lectures, in case you've missed them https://archive.org/details/MIT_Structure_of_Computer_Programs_1986 2020-03-28T17:01:50Z ngz joined #scheme 2020-03-28T17:22:53Z ayerhart quit (Quit: ayerhart) 2020-03-28T17:23:06Z TCZ quit (Quit: Leaving) 2020-03-28T17:23:25Z ayerhart joined #scheme 2020-03-28T17:27:08Z ayerhart quit (Client Quit) 2020-03-28T17:27:38Z ayerhart joined #scheme 2020-03-28T17:31:16Z oxum joined #scheme 2020-03-28T17:35:34Z oxum quit (Ping timeout: 240 seconds) 2020-03-28T17:43:34Z luni joined #scheme 2020-03-28T17:44:26Z mdhughes: srandon111: The DrRacket "IDE" is super annoying because it wipes out your REPL state every time you save your program. You can use just "racket" from the command line to get a REPL, and your editor of choice on source, and it'll work better. 2020-03-28T17:44:48Z turtleman joined #scheme 2020-03-28T17:45:40Z srandon111: ok thanks 2020-03-28T18:04:36Z luni: Hi all. I have a question related to macro and really i'm not able to understand why in one case the macro works while in the other case not. Let me paste the code to show these two different cases... 2020-03-28T18:04:43Z luni: Uploaded file: https://uploads.kiwiirc.com/files/181fde1c5841fda431d72443c0bf548c/pasted.txt 2020-03-28T18:05:17Z luni: Why is this happening ? Thanks in advance for the help 2020-03-28T18:06:19Z badkins quit (Remote host closed the connection) 2020-03-28T18:06:51Z badkins joined #scheme 2020-03-28T18:06:59Z pjb: luni: because res is not of the form ((a b ... c) (d e ... f)). 2020-03-28T18:07:04Z pjb: res is of the form r 2020-03-28T18:07:15Z pjb: res is just a symbol, it's not a list of two lists. 2020-03-28T18:07:31Z pjb: luni: perhaps you'd want a function instead? 2020-03-28T18:08:13Z luni: ok... maybe yes... i will try with a match 2020-03-28T18:08:29Z luni: inside a function 2020-03-28T18:08:41Z pjb: (define (create-assoc list-of-two-lists) (apply map list list-of-two-lists)) (create-assoc res) -> ((a (1 2)) (b (3 4)) (c (5 6)) (d (7 8))) 2020-03-28T18:09:25Z zaifir: AKA zip. 2020-03-28T18:10:02Z luni: thank you pjb 2020-03-28T18:10:54Z badkins quit (Ping timeout: 240 seconds) 2020-03-28T18:13:33Z badkins joined #scheme 2020-03-28T18:26:42Z hugh_marera_ joined #scheme 2020-03-28T18:28:31Z hugh_marera quit (Ping timeout: 260 seconds) 2020-03-28T18:28:32Z hugh_marera_ is now known as hugh_marera 2020-03-28T18:29:05Z skapata quit (Remote host closed the connection) 2020-03-28T18:31:26Z hugh_marera_ joined #scheme 2020-03-28T18:34:35Z hugh_marera quit (Ping timeout: 260 seconds) 2020-03-28T18:35:10Z hugh_marera_ quit (Read error: Connection reset by peer) 2020-03-28T18:35:30Z oxum joined #scheme 2020-03-28T18:40:14Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T18:45:06Z acarrico quit (Quit: Leaving.) 2020-03-28T18:48:20Z izh_ joined #scheme 2020-03-28T18:52:59Z passchaos joined #scheme 2020-03-28T18:53:58Z passchaos quit (Remote host closed the connection) 2020-03-28T19:19:44Z luni quit (Remote host closed the connection) 2020-03-28T19:22:31Z seepel joined #scheme 2020-03-28T19:24:54Z SGASAU``` quit (Remote host closed the connection) 2020-03-28T19:26:44Z SGASAU``` joined #scheme 2020-03-28T19:27:02Z badkins quit (Remote host closed the connection) 2020-03-28T19:27:41Z badkins joined #scheme 2020-03-28T19:30:13Z SGASAU``` quit (Remote host closed the connection) 2020-03-28T19:30:29Z SGASAU``` joined #scheme 2020-03-28T19:31:57Z rotty joined #scheme 2020-03-28T19:32:36Z badkins quit (Ping timeout: 256 seconds) 2020-03-28T19:35:45Z greaser|q quit (Quit: HYDRA IRC LOL) 2020-03-28T19:37:24Z greaser|q joined #scheme 2020-03-28T19:38:21Z wasa is now known as wasamasa 2020-03-28T19:42:37Z seepel quit (Ping timeout: 265 seconds) 2020-03-28T19:47:33Z badkins joined #scheme 2020-03-28T19:51:14Z aeth: wasamasa: Modern OpenGL, Vulkan, etc., aren't really built to be something to be used directly in programs... they're more backends for a higher level API, which might support multiple versions or multiple graphics APIs. 2020-03-28T19:51:28Z aeth: Wayland, too, is probably more designd as a backend for graphics toolkits rather than direct use. 2020-03-28T19:52:06Z aeth: OpenGL/Vulkan/etc. have more of an excuse, though, because they're about direct access to a hardware coprocessor and necessarily have to be low-level like that. 2020-03-28T19:54:00Z badkins quit (Remote host closed the connection) 2020-03-28T19:54:28Z aeth: And, yes, Wayland is basically an explicit rejection of the client/server and language-agnostic nature of X. 2020-03-28T19:55:32Z gioyik joined #scheme 2020-03-28T19:55:58Z aeth: zaifir: To be fair, I took some university courses that used some epic textbooks (not SICP, though, unfortunately) and those courses don't touch the whole book. Far from it. There's not enough time. Maybe you could do SICP in two semesters, of course, not with all of the exercises. 2020-03-28T19:56:39Z aeth: Idk, though, maybe MIT really expected you to do the whole thing in a freshman semester, but I doubt any other university using it expects that. 2020-03-28T20:00:28Z seepel joined #scheme 2020-03-28T20:02:15Z d4ryus quit (Quit: WeeChat 2.7) 2020-03-28T20:03:45Z SGASAU``` quit (Ping timeout: 250 seconds) 2020-03-28T20:15:13Z SGASAU joined #scheme 2020-03-28T20:16:46Z pilne joined #scheme 2020-03-28T20:24:43Z SGASAU quit (Ping timeout: 260 seconds) 2020-03-28T20:24:50Z ggole quit (Quit: Leaving) 2020-03-28T20:27:57Z luni joined #scheme 2020-03-28T20:29:01Z lucasb joined #scheme 2020-03-28T20:36:22Z oxum joined #scheme 2020-03-28T20:37:52Z jcowan: wasamasa: AFAIAC, anything not network transparent is at best an alternative to X, not a successor. I almost always use X over the network, even if it's an internal (host-only) network. 2020-03-28T20:41:06Z oxum quit (Ping timeout: 265 seconds) 2020-03-28T20:45:52Z TCZ joined #scheme 2020-03-28T20:46:44Z izh_ quit (Quit: Leaving) 2020-03-28T20:55:11Z seepel: Hi scheme! I have another question to help me understand the design decisions behind scheme if you don't mind humoring me. I'm wondering why the return type of set! is unspecified, it seems like a lot of programming languages do the same but I don't think I understand why. 2020-03-28T21:00:30Z amirouche[m]: we had the discussion a while back, the conclusion I remember: no good reason for `set!` to not return something. 2020-03-28T21:01:12Z luni: as reported here: https://practical-scheme.net/wiliki/schemexref.cgi?set%21 2020-03-28T21:01:13Z jcowan: Also, brutally: when R2RS was defined, different implementations had set! returning different things. 2020-03-28T21:01:17Z aeth: jcowan: If it's a LAN, I can and will use a simple X application like GNU Emacs graphically over SSH... 2020-03-28T21:01:21Z seepel: Ah, bummer. 2020-03-28T21:01:45Z aeth: jcowan: The only logical, useful return value for set! is the thing itself so you can compose it like (set! x (set! y 42)) just like = in most languages. 2020-03-28T21:02:05Z seepel: aeth: That would definitely be my expectation. 2020-03-28T21:02:28Z seepel: Though I guess it would be ambiguous with something like common lisp's setf 2020-03-28T21:02:52Z jcowan: Or the previous value. Or anything else. But these are easy to make with wrappers, and they mean that plain set! can be implemented very efficiently. 2020-03-28T21:03:32Z jcowan: you can inline the assignment without worrying about what's in the registers after that. 2020-03-28T21:04:56Z aeth: seepel: well, it's only ambiguous insofar as setf is programmable so someone could break with the expectation that I provided above. It also supports multiple values, but you could easily do something like (setf (values x y z) (setf (values u v w) (values 1 2 3))) either directly or in a setf macroexpander 2020-03-28T21:05:23Z aeth: (confusingly, setf can be a macro or a function, and has to be a macro if you want it to set multiple values at once) 2020-03-28T21:05:27Z seepel: jcowen: I suppose that is a reasonable argument. Also, just want to thank you for always having a good counter point to my expectations. It is incredibly helpful! 2020-03-28T21:06:19Z aeth: jcowan: it absolutely could return the previous value, but then it's not usefully composable 2020-03-28T21:06:42Z seepel: aeth: I guess what I meant by ambiguous is with something like (setf (slot-ref 'foo my-object) "foo") should it return my-object, or "foo"? 2020-03-28T21:07:34Z seepel: Pardon my syntax if it is incorrect, I haven't been digging around in common lisp in quite some time. 2020-03-28T21:09:30Z seepel: Of course, this leads to a subjective follow-up question. Since it is unspecified would it be in bad taste for an implementation targeting r7rs to choose to return the new value? 2020-03-28T21:09:47Z aeth: seepel: I'm not an expert in the standard, but I'm guessing that the expectation should be that it returns the setting value not the object being set, but since it's programmable, someone could something else with it. Of course, if you define SETFs with SETFs, then the behavior will happen without manually returning the return value. It's the really fancy things that have to be done manually 2020-03-28T21:10:03Z aeth: (in CL's SETF) 2020-03-28T21:10:19Z aeth: s/could something else/could return something else/ 2020-03-28T21:10:32Z seepel: aeth: that makes sense 2020-03-28T21:12:19Z aeth: seepel: now returning the object being set might make equal sense if you're doing (defun foo (x) (setf x 42)) and x is some object... so there would be an argument for a generic set! being done that way, but set! itself is nongeneric 2020-03-28T21:12:51Z aeth: but, I guess the counterargument is you really shouldn't be defining a function (in CL) or a procedure (in Scheme) to do that instead of just defining a setter (assuming set! can be programmable like setf) 2020-03-28T21:17:26Z jcowan wonders if you can write define-modify-macro in syntax-rules 2020-03-28T21:18:20Z CyDefect quit (Ping timeout: 256 seconds) 2020-03-28T21:18:52Z CyDefect joined #scheme 2020-03-28T21:18:52Z aeth: seepel: oh, wait it's a non-issue, I was looking at it wrong 2020-03-28T21:19:32Z aeth: you would do something like (setf (aref a 2) 42) so of course it has to return 42... 2020-03-28T21:19:39Z aeth: returning a would make less sense 2020-03-28T21:24:29Z seepel: jcowen: That definitely sounds above my knowledge level at the moment, but an interesting idea. 2020-03-28T21:27:26Z aeth: define-modify-macro as in incf iirc 2020-03-28T21:27:39Z aeth: (well, the macro that makes defining incf trivial, which is probably the excuse for not including e.g. multf) 2020-03-28T21:28:55Z aeth: or, I suppose, in a Scheme or potential r7rs-large, inc! 2020-03-28T21:29:31Z aeth: interestingly, there's a slight flaw here in that in Common Lisp it's clear that incf is a macro while in Scheme it's not clear that inc! is 2020-03-28T21:29:41Z aeth: normally the ! is superior to CL 2020-03-28T21:31:07Z CyDefect quit (Remote host closed the connection) 2020-03-28T21:31:31Z seepel: I think I followed the broad strokes there, but I think the details went over my head. I really only played around with common lisp a little bit before I discovered scheme :) 2020-03-28T21:33:15Z zaifir wonders why all the explanations on #scheme today have been in CL. 2020-03-28T21:33:37Z pjb: schemers are confined, only lispers remain :-) 2020-03-28T21:34:22Z aeth: zaifir: this channel is as much Scheme implementors as Schemers and most Lisps fall in one of two categories: (1) dead or (2) a syntactic layer over some other language 2020-03-28T21:34:40Z aeth: so once you run out of comparing implementations, comparing to CL is natural... 2020-03-28T21:34:45Z gravicappa quit (Ping timeout: 265 seconds) 2020-03-28T21:35:12Z ear-the-art quit (Remote host closed the connection) 2020-03-28T21:35:21Z zaifir: aeth: I'm not sure what you mean. 2020-03-28T21:35:36Z ear-the-art joined #scheme 2020-03-28T21:36:35Z aeth: zaifir: CL is more specified than Scheme, so "How should this ought to be done? Well, how is it done?" is often most meaningfully answered by looking to CL to see what to do or what not to do, especially since modern Scheme implementors are rules lawyers who like to return # providing no help in the situation 2020-03-28T21:37:05Z aeth: zaifir: note, though, that I also compared it to most languages' =, not just SETF 2020-03-28T21:37:24Z aeth: In fact, I've seen =s composed far more than SETFs 2020-03-28T21:39:06Z zaifir: aeth: Hmm. There is R6RS if you want super comprehensive Scheme specification. 2020-03-28T21:40:47Z aeth: zaifir: It's probably more meaningful to look at languages that implemented (most of) R6RS, like Racket 2020-03-28T21:41:30Z zaifir: The standard is very well written. I see lots of value in studying it, even though I think there is a bit too much MUSTard. 2020-03-28T21:41:42Z zaifir: (I mean R6, of course) 2020-03-28T21:43:50Z aeth: zaifir: I guess in a sense comparing to CL is a bit safer than comparing to R6RS because R6RS is controversial, but with CL everyone knows the parts of CL that Schemers don't like (like Lisp-2, the SYMBOL UPCASING, the ugly names like RPLACA, etc.) 2020-03-28T21:45:40Z aeth: I guess plists/keywords from CL are probably divisive, though. 2020-03-28T21:46:01Z aeth: Keywords in general are divisive since there are at least #:foo :foo and foo: syntaxes for them iirc 2020-03-28T21:46:01Z seepel: I'd say as the guilty party in this case, and as an up and comming schemer the reasons I chose to compare co CL are pretty much all the reasons that aeth just mentioned. 2020-03-28T21:46:31Z zaifir: Yeah, I've re-read the scrollback. I'm sorry for being grumpy. 2020-03-28T21:47:03Z seepel: It's just a concrete implementation to compare against, that I suspected most folks in this channel would be familiar with. 2020-03-28T21:47:07Z aeth: I mean, yeah, Common Lispers have gone too far at points, advocating CL over Scheme, in this channel. Well, by Common Lispers, I mean one particular person :-p 2020-03-28T21:47:12Z aeth: (pjb) 2020-03-28T21:47:26Z zaifir: I suppose you could have a linear update set!: (set! x 10) ; => x 2020-03-28T21:48:01Z zaifir: Since that's the way SRFI 1, etc. "destructive" procedures behave. 2020-03-28T21:48:09Z zaifir: Hah. 2020-03-28T21:49:10Z luni: however I think managing the benefits of unintended side effects, albeit effective, is not a matter of sensible discussion. Expanding the ecosystem and ensuring sufficient variety is beneficial for survival in the near future 2020-03-28T21:49:56Z seepel: zaifir: What do you mean by linear update? 2020-03-28T21:52:06Z zaifir: seepel: It's basically Scheme's version of linear types. You can treat SRFI 1's linear update procedures as destructive, or as pure functions (provided you remember not to re-use the argument) https://srfi.schemers.org/srfi-1/srfi-1.html#LinearUpdateProcedures 2020-03-28T21:52:18Z aeth: zaifir: I mean, of course, in my own selfish case, 100% semantic matching with CL would make my job easiest, although perhaps also meaningless. 2020-03-28T21:52:36Z aeth: It is, of course, only relevant to my own particular case, though. 2020-03-28T21:52:37Z seepel quit (Remote host closed the connection) 2020-03-28T21:53:13Z seepel joined #scheme 2020-03-28T21:54:43Z badkins joined #scheme 2020-03-28T21:55:10Z seepel: zaifir: That's what I thought you meant, thanks for the clarification. I think I prefer that style most of the time myself. 2020-03-28T21:55:57Z jcowan: I'm constantly looking at R6RS and CL when working on pre-R7RS SRFIs 2020-03-28T21:56:52Z jcowan: zaifir: See http://www.r6rs.org/formal-comments/comment-146.txt, which is the comment (I think) that led Will Clinger to resign from the R6RS editorial committee. 2020-03-28T21:58:04Z jcowan: no, that's not the right one 2020-03-28T21:59:27Z badkins quit (Ping timeout: 260 seconds) 2020-03-28T22:01:00Z zaifir: jcowan: Wow, that's really *the* anti-MUSTard comment, though. 2020-03-28T22:01:42Z jcowan: those are just editorial blerps 2020-03-28T22:02:43Z SGASAU joined #scheme 2020-03-28T22:02:53Z jcowan: see section 3 of http://andykeep.com/SchemeWorkshop2015/papers/sfpw1-2015-clinger.pdf 2020-03-28T22:04:38Z oxum joined #scheme 2020-03-28T22:05:16Z zaifir: jcowan: Informative paper, thanks. 2020-03-28T22:05:48Z jcowan: I like calling R6RS MUSTard "quaint customs" 2020-03-28T22:06:00Z oxum quit (Remote host closed the connection) 2020-03-28T22:07:17Z seepel: Ohh, this reminds me of another question I had. Given the specification of things like #u8 or #!fold-case is it dangerous for an implementation to provide additional read syntax using the '#' symbol? For example an implementation adds some reader syntax for '#%', but then later that symbol is needed for a srfi or is specified in a future revision? 2020-03-28T22:10:26Z wasamasa quit (Quit: ZNC - https://znc.in) 2020-03-28T22:10:46Z wasamasa joined #scheme 2020-03-28T22:19:22Z jcowan: seepel: That is why R7RS-large is postponing all lexical-syntax issues till the end, so we can take a conspectus view across multiple SRFIs, see what existing implementations use, etc. 2020-03-28T22:19:42Z jcowan: So when a SRFI is adopted into R7RS-large, that does not include its lexical syntax necessarily. 2020-03-28T22:19:48Z seepel: I see 2020-03-28T22:20:21Z seepel: So far are there any hints at what route lexical-syntax would take, or is it still pretty much up in the air? 2020-03-28T22:21:14Z jcowan: https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/LexicalDocket.md collects all SRFI lexical syntax and any other proposals. 2020-03-28T22:28:28Z seepel: Oh cool 2020-03-28T22:31:08Z wasamasa quit (Quit: ZNC - https://znc.in) 2020-03-28T22:33:09Z wasamasa joined #scheme 2020-03-28T22:35:36Z seepel: I hadn't seens srfis 108 and 109 before. Do any implementations support them? 2020-03-28T22:39:28Z oxum joined #scheme 2020-03-28T22:41:12Z SGASAU quit (Remote host closed the connection) 2020-03-28T22:41:13Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-28T22:41:25Z SGASAU joined #scheme 2020-03-28T22:42:25Z srandon111: guys do you thiink sicp is still relevant nowadays? i was reading this http://lambda-the-ultimate.org/node/5335 2020-03-28T22:42:43Z srandon111: and seemed like the creators theirselves were not convinced about the utility of it nowadays 2020-03-28T22:42:57Z daviid joined #scheme 2020-03-28T22:44:08Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T22:49:15Z ear-the-art quit (Remote host closed the connection) 2020-03-28T22:49:28Z seepel: My reading of that post is that it is specifically less useful as the curriculum for a general computer science course. Though I may be biased because I like to hang out in the #scheme channel :) 2020-03-28T22:51:42Z seepel: I believe they switched to using python 2020-03-28T22:52:46Z luni: so bad :( 2020-03-28T22:53:06Z ear-the-art joined #scheme 2020-03-28T22:53:08Z TCZ quit (Quit: Leaving) 2020-03-28T22:53:32Z whiteline quit (Remote host closed the connection) 2020-03-28T22:54:05Z whiteline joined #scheme 2020-03-28T22:54:06Z seepel: I dunno, I think there is some logic in it, even if I'm not very excited about the python language myself. I do have to admit I agree with the sentiment that python by and large looks like psuedo code that you might write naturally. 2020-03-28T22:57:34Z luni: seepel ; anyway SICP is not only relevant but it's still a solid base for the future since it explains the way of thinking and how organize ideas about programming 2020-03-28T23:00:31Z seepel: luni: I definitely agree with that sentiment. 2020-03-28T23:01:54Z pjb: seepel: the point is that today, introduction to programming courses are taken by more diverse people than yesterday. In the past those courses were only taken by CS majors. Today they're taken by everybody (as it should be). 2020-03-28T23:02:42Z pjb: seepel: sicp is for CS majors, not for biologists (who program), or managers (who program), or web designers (who program), or anybody (who program, everybody should be programming, I wouldn't even exclude Amazon packers). 2020-03-28T23:06:04Z luni: every sufficiently modern and advanced concept can also be thought, structured and expressed thanks to the ideas of people who lived before us. Those who want to erase the past make no progress 2020-03-28T23:09:48Z seepel: pjb: You summarized my thoughts much better than I did, thank you! 2020-03-28T23:09:52Z SGASAU quit (Remote host closed the connection) 2020-03-28T23:10:27Z SGASAU joined #scheme 2020-03-28T23:19:28Z oxum joined #scheme 2020-03-28T23:20:36Z lritter quit (Ping timeout: 265 seconds) 2020-03-28T23:21:14Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-28T23:23:54Z TCZ joined #scheme 2020-03-28T23:24:19Z jcowan: In addition, most programming is gluing nowadays, and Python is better suited to that than Scheme. A Python programmer described the feeling of writing Scheem to that of making a ship out of wood tongue-depressors. 2020-03-28T23:24:22Z oxum quit (Ping timeout: 256 seconds) 2020-03-28T23:27:50Z pjb: jcowan: yes, but programming is builing ships out of nothing, not gluing. 2020-03-28T23:28:10Z Riastradh: programming is inventing analogies out of thin air to make a point on IRC 2020-03-28T23:28:13Z jcowan: Sorry, I'm not an essentalist, so you can't bait me with that, 2020-03-28T23:28:35Z jcowan: poetry involves both inspiration (breathing in) and construction. 2020-03-28T23:28:54Z pjb: jcowan: I bought a plastic model and glued all the pieces. It was cool and nice. But I'm not a modelist. I'm a gluer. I didn't even paint it, the plastic was already colored! 2020-03-28T23:29:11Z SGASAU quit (Remote host closed the connection) 2020-03-28T23:29:27Z pjb: Yes, there's no poetry in python. 2020-03-28T23:29:36Z SGASAU joined #scheme 2020-03-28T23:29:59Z Riastradh: ...don't let the glue fumes get to you... 2020-03-28T23:30:39Z jcowan snorts 2020-03-28T23:33:14Z TCZ is now known as jealousy 2020-03-28T23:47:00Z torbo joined #scheme 2020-03-28T23:50:22Z zaifir: breathe deep! 2020-03-28T23:50:27Z aeth: seepel: I mean, what the authors themselves think about SICP is irrelevant, according to one school of literature. https://en.wikipedia.org/wiki/The_Death_of_the_Author 2020-03-28T23:50:31Z zaifir acquires 500 vespene gas. 2020-03-28T23:51:11Z aeth: also srandon111 2020-03-28T23:51:23Z aeth: (I should've used a comma) 2020-03-28T23:53:11Z zaifir: The really nasty thing I find about Python is the lack of lexical scope. 2020-03-28T23:53:21Z zaifir: And the hacky lambda form. 2020-03-28T23:53:47Z aeth: jcowan: Well, yes, Lisps are more suited for writing software from scratch, which is rarely done these days. On the other hand, the main Python implementation is entirely unsuitable for this, unless you're willing to write your hot loops in some other language. But... if the software is largely already written, then Python is good at interfacing with it. Machine Learning libraries in Python were not invented from scratch in pure Python. 2020-03-28T23:54:34Z jcowan: I don't find it *that* annoying to have to name functions. 2020-03-28T23:54:48Z torbo quit (Ping timeout: 256 seconds) 2020-03-28T23:55:02Z aeth: zaifir: Python's lambda being terrible is very intentionally done so you have to name functions, as jcowan hinted at. 2020-03-28T23:55:11Z pjb: zaifir: what really makes python unrecuperable, is that it distinguishes expressions from statements. 2020-03-28T23:55:19Z aeth: A feature, not a bug. Now, of course, this works out OK in Python, but not if you wanted tons of Scheme-like higher-order-functions 2020-03-28T23:55:27Z pjb: zaifir: (this is why the lambda in python is hacky). 2020-03-28T23:55:46Z zaifir: aeth: Right, Guido hates functional programming. Also why there's no TCO. 2020-03-28T23:56:12Z aeth: zaifir: Well, yes, there's no TCO in Python, but there's not much O in Python at all. :-) 2020-03-28T23:56:27Z zaifir: O, no. 2020-03-28T23:56:29Z aeth: It is, in a sense, a "dumb interpreter", which is probably what they want. Something fairly transparent. 2020-03-28T23:56:33Z jcowan: That too is deliberate. C-Python is the stupidest possible interpretation that could possibly work. 2020-03-28T23:57:00Z jcowan: Clever optimizations can make for opaque bucks (as opposed to theory-driven optimizations). 2020-03-28T23:57:29Z jcowan: er, bugs 2020-03-28T23:57:35Z aeth: It also means you can't runtime redefine everything quite as much, so you give up dynamicness, or your dynamic features unexpectedly destroy performance if you use them, eliminating the fast path optimizations. 2020-03-28T23:57:45Z pjb: Also, python doesn't work. Eventually you have to revert to C. If you used CL from the start you could finish it in CL… 2020-03-28T23:57:46Z jealousy quit (Quit: Leaving) 2020-03-28T23:57:52Z aeth: A dumb interpreter is, or at least can be, incredibly dynamic. Ruby does a better job at this. 2020-03-28T23:58:03Z pjb: or scheme. 2020-03-28T23:58:12Z aeth: well, more like an fexpr Lisp, which still do exist 2020-03-29T00:00:20Z aeth: Or perhaps a Lisp where everything was defined via CLOS, as a naive runtime interpreter. 2020-03-29T00:00:21Z jcowan: Picolisp is really an admirable Lisp for its goals 2020-03-29T00:00:42Z seepel: aeth: I agree, though there may be some confusion, as srandon111 is the one that asked the question. 2020-03-29T00:00:58Z jcowan: I tried to figure out how hard it would be to implement it in CL in order to make CL libraries available to it. 2020-03-29T00:01:18Z pjb: You'll be surprised how easy it is. 2020-03-29T00:01:21Z seepel: And I just read the next message (and feel foolish) 2020-03-29T00:01:21Z pjb: just do it. 2020-03-29T00:01:58Z Tirifto quit (Quit: Leaving.) 2020-03-29T00:02:11Z aeth: seepel: Yes, the confusing part was pjb replying to you, not the original asker 2020-03-29T00:02:19Z aeth: Took me too long to notice 2020-03-29T00:03:14Z seepel: No worries, just didn't want srandon111 to miss out! 2020-03-29T00:06:00Z oxum joined #scheme 2020-03-29T00:09:56Z zaifir: Ouch. Responding to the question of Picolisp doing TCO, the author responds "TCO is irrelevant for an interpreted language ... Recursion is also overvalued.' 2020-03-29T00:10:10Z zaifir: What a wacky Lisp! 2020-03-29T00:10:52Z oxum quit (Ping timeout: 265 seconds) 2020-03-29T00:16:38Z aeth: Riastradh: fwiw, newLISP does have matrices built-in so at least one Lisp does do it. http://www.newlisp.org/downloads/newlisp_manual.html#mat 2020-03-29T00:16:57Z aeth: Of course, single implementation languages always have advantages of being able to pile on as many foreign dependencies as they can, making features like that trivial. 2020-03-29T00:18:38Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-29T00:19:20Z torbo joined #scheme 2020-03-29T00:22:18Z torbo quit (Remote host closed the connection) 2020-03-29T00:22:26Z torbo joined #scheme 2020-03-29T00:33:25Z torbo quit (Remote host closed the connection) 2020-03-29T00:36:07Z SGASAU quit (Remote host closed the connection) 2020-03-29T00:36:51Z SGASAU joined #scheme 2020-03-29T00:37:47Z ngz quit (Ping timeout: 272 seconds) 2020-03-29T00:40:40Z badkins joined #scheme 2020-03-29T00:57:42Z TCZ joined #scheme 2020-03-29T01:15:39Z oxum joined #scheme 2020-03-29T01:15:47Z skapata joined #scheme 2020-03-29T01:26:28Z TCZ quit (Quit: Leaving) 2020-03-29T01:27:31Z TCZ joined #scheme 2020-03-29T01:30:10Z oxum quit (Ping timeout: 256 seconds) 2020-03-29T01:51:50Z oxum joined #scheme 2020-03-29T02:05:03Z ahungry joined #scheme 2020-03-29T02:07:25Z xlei quit (Ping timeout: 264 seconds) 2020-03-29T02:08:21Z emacsomancer quit (Read error: Connection reset by peer) 2020-03-29T02:08:28Z emacsoma1 joined #scheme 2020-03-29T02:12:31Z xlei joined #scheme 2020-03-29T02:20:33Z Khisanth quit (Ping timeout: 252 seconds) 2020-03-29T02:23:11Z badkins quit (Remote host closed the connection) 2020-03-29T02:29:51Z SGASAU quit (Remote host closed the connection) 2020-03-29T02:30:20Z TCZ is now known as jealousy 2020-03-29T02:30:22Z SGASAU joined #scheme 2020-03-29T02:36:55Z Khisanth joined #scheme 2020-03-29T02:37:21Z turtleman quit (Remote host closed the connection) 2020-03-29T02:55:54Z SGASAU` joined #scheme 2020-03-29T02:57:08Z SGASAU quit (Ping timeout: 265 seconds) 2020-03-29T03:05:41Z drakonis joined #scheme 2020-03-29T03:14:03Z jealousy quit (Quit: Leaving) 2020-03-29T03:20:20Z seepel quit (Ping timeout: 265 seconds) 2020-03-29T03:20:24Z luni quit (Remote host closed the connection) 2020-03-29T03:28:37Z SGASAU` quit (Remote host closed the connection) 2020-03-29T03:53:34Z notzmv quit (Ping timeout: 240 seconds) 2020-03-29T03:55:34Z edgar-rft quit (Ping timeout: 256 seconds) 2020-03-29T03:57:09Z oxum quit (Remote host closed the connection) 2020-03-29T04:01:09Z oxum joined #scheme 2020-03-29T04:08:06Z oxum quit (Ping timeout: 256 seconds) 2020-03-29T04:08:18Z edgar-rft joined #scheme 2020-03-29T04:09:33Z evdubs quit (Remote host closed the connection) 2020-03-29T04:10:39Z evdubs joined #scheme 2020-03-29T04:10:50Z oxum joined #scheme 2020-03-29T04:15:49Z oxum quit (Ping timeout: 264 seconds) 2020-03-29T04:20:08Z terpri quit (Remote host closed the connection) 2020-03-29T04:21:18Z terpri joined #scheme 2020-03-29T04:21:50Z seepel joined #scheme 2020-03-29T04:25:51Z gravicappa joined #scheme 2020-03-29T04:37:37Z oxum joined #scheme 2020-03-29T04:37:38Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-29T04:50:07Z oxum quit (Remote host closed the connection) 2020-03-29T04:59:34Z nchamber- quit (Ping timeout: 240 seconds) 2020-03-29T04:59:59Z nchambers joined #scheme 2020-03-29T05:24:12Z oxum joined #scheme 2020-03-29T05:32:10Z skapata quit (Quit: Ĝis!) 2020-03-29T05:32:37Z oxum quit (Ping timeout: 264 seconds) 2020-03-29T05:39:11Z oxum joined #scheme 2020-03-29T05:53:37Z oxum quit (Remote host closed the connection) 2020-03-29T05:58:43Z oxum joined #scheme 2020-03-29T06:01:03Z jao quit (Ping timeout: 260 seconds) 2020-03-29T06:03:08Z oxum quit (Ping timeout: 256 seconds) 2020-03-29T06:14:37Z lavaflow quit (Ping timeout: 264 seconds) 2020-03-29T06:14:54Z ahungry quit (Remote host closed the connection) 2020-03-29T06:28:03Z pilne quit (Quit: Excess flood. Did someone see an ark float by?) 2020-03-29T06:29:05Z lavaflow joined #scheme 2020-03-29T06:30:48Z oxum joined #scheme 2020-03-29T06:39:24Z oxum quit (Ping timeout: 256 seconds) 2020-03-29T07:07:22Z oxum joined #scheme 2020-03-29T07:14:31Z wasamasa: txr-lisp is like everything newlisp aspired to be and more 2020-03-29T07:22:58Z oxum quit (Ping timeout: 265 seconds) 2020-03-29T08:37:53Z ggole joined #scheme 2020-03-29T08:42:30Z rotty quit (Quit: WeeChat 2.8-dev) 2020-03-29T08:43:30Z rotty joined #scheme 2020-03-29T09:07:32Z sarna joined #scheme 2020-03-29T09:08:42Z sarna: hey, is it possible to just try again when using MIT scheme restarts? the only options I see is giving a thing a value or aborting 2020-03-29T09:09:18Z sarna: I’d like to do it like in common lisp - fix a definition, send it to the repl, try again 2020-03-29T09:10:06Z sarna: this way I either have to rewrite the definition in the repl and copy it to the file later, or abort and resume the entire execution :( 2020-03-29T09:13:28Z wasamasa: mit-scheme does indeed have conditions 2020-03-29T09:13:32Z wasamasa: so it should be possible 2020-03-29T09:14:07Z wasamasa: https://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Restarts.html#Restarts 2020-03-29T09:15:58Z sarna: or, well, retry 2020-03-29T09:16:58Z wasamasa: https://groups.csail.mit.edu/mac/ftpdir/scheme-7.4/doc-html/user_4.html#SEC32 2020-03-29T09:17:21Z sarna: yep, I’ve seen this page 2020-03-29T09:17:29Z sarna: note there’s no “try again” in there 2020-03-29T09:20:51Z sarna: if I have a function that divides by zero, I can’t even provide a value or fix it - I can only abort 2020-03-29T09:21:50Z wasamasa: hum 2020-03-29T09:26:13Z wasamasa: you can use interrupt keys to redefine the faulty function, but honestly, at that point it doesn't make a difference 2020-03-29T09:26:32Z wasamasa: you cannot continue running the original function due to division by zero 2020-03-29T09:27:19Z wasamasa: I suspect mit-scheme is the best you'll get in terms of a conditions/restart system 2020-03-29T09:27:21Z sarna: in CL I’d be able to recompile the faulty function and just resume execution 2020-03-29T09:27:48Z wasamasa: what exactly would resume mean here, executing the code after the division by zero? 2020-03-29T09:27:53Z sarna: heck, that’s kind of disappointing then :( 2020-03-29T09:28:40Z sarna: actually let me check because I’m not that sure 2020-03-29T09:33:20Z sarna-pc joined #scheme 2020-03-29T09:34:24Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-29T09:34:25Z sarna-pc: wasamasa: I changed (/ 1 0) to (/ 1 1) and chose "continue" - I got 1 2020-03-29T09:37:26Z sarna-pc: seems like it remembers where in the code the error was and just resumes execution from that point 2020-03-29T09:44:02Z sarna-pc quit (Remote host closed the connection) 2020-03-29T09:53:06Z sarna quit (Quit: bye) 2020-03-29T09:54:58Z sarna joined #scheme 2020-03-29T09:57:20Z sarna quit (Remote host closed the connection) 2020-03-29T09:57:23Z oxum joined #scheme 2020-03-29T09:57:37Z SGASAU joined #scheme 2020-03-29T09:57:42Z sarna joined #scheme 2020-03-29T09:59:36Z sarna quit (Remote host closed the connection) 2020-03-29T10:09:37Z oxum quit (Ping timeout: 250 seconds) 2020-03-29T10:16:00Z SGASAU quit (Remote host closed the connection) 2020-03-29T10:16:35Z SGASAU joined #scheme 2020-03-29T10:27:05Z SGASAU quit (Remote host closed the connection) 2020-03-29T10:27:41Z SGASAU joined #scheme 2020-03-29T10:29:15Z badkins joined #scheme 2020-03-29T10:33:49Z badkins quit (Ping timeout: 264 seconds) 2020-03-29T10:47:39Z TCZ joined #scheme 2020-03-29T10:53:27Z ear-the-art quit (Remote host closed the connection) 2020-03-29T10:53:48Z ear-the-art joined #scheme 2020-03-29T11:03:06Z badkins joined #scheme 2020-03-29T11:03:41Z Guest66258 joined #scheme 2020-03-29T11:05:04Z ngz joined #scheme 2020-03-29T11:08:42Z badkins quit (Remote host closed the connection) 2020-03-29T11:12:02Z oxum joined #scheme 2020-03-29T11:26:44Z SGASAU quit (Remote host closed the connection) 2020-03-29T11:27:02Z SGASAU joined #scheme 2020-03-29T12:06:00Z SGASAU quit (Remote host closed the connection) 2020-03-29T12:06:37Z klovett quit (Read error: Connection reset by peer) 2020-03-29T12:06:46Z SGASAU joined #scheme 2020-03-29T12:14:52Z marc55 joined #scheme 2020-03-29T12:17:14Z SGASAU quit (Remote host closed the connection) 2020-03-29T12:17:27Z luni joined #scheme 2020-03-29T12:18:01Z SGASAU joined #scheme 2020-03-29T12:24:06Z TCZ is now known as DiamondPrincess 2020-03-29T12:37:13Z klovett joined #scheme 2020-03-29T12:39:27Z klovett_ joined #scheme 2020-03-29T12:42:14Z klovett quit (Ping timeout: 240 seconds) 2020-03-29T13:00:49Z civodul joined #scheme 2020-03-29T13:02:28Z DiamondPrincess quit (Quit: Leaving) 2020-03-29T13:13:26Z xkapastel joined #scheme 2020-03-29T13:15:41Z SGASAU quit (Remote host closed the connection) 2020-03-29T13:40:35Z johncob_ quit (Read error: Connection reset by peer) 2020-03-29T13:41:38Z turtleman joined #scheme 2020-03-29T13:41:55Z luni quit (Remote host closed the connection) 2020-03-29T13:42:08Z johncob_ joined #scheme 2020-03-29T13:44:45Z marc55 quit (Ping timeout: 252 seconds) 2020-03-29T13:51:27Z daviid quit (Ping timeout: 260 seconds) 2020-03-29T14:06:01Z lucasb joined #scheme 2020-03-29T14:07:07Z Naptra joined #scheme 2020-03-29T14:19:13Z lritter joined #scheme 2020-03-29T14:19:18Z TCZ joined #scheme 2020-03-29T14:23:29Z srandon111: guys in lecture 2 of SICP it is made a distinction about recursion and iteration as processes.. saying that recursion has a linear space and time complexity... 2020-03-29T14:23:39Z srandon111: but i was thinking that the way he did iteration is also called recursion 2020-03-29T14:23:54Z srandon111: because he called the same function at the end of the function 2020-03-29T14:29:08Z mdhughes: Yes, they're implemented the same in Scheme. 2020-03-29T14:31:26Z mdhughes: The one difference is if you're looping by doing tail calls, or making extra stack frames by not doing TCO position. 2020-03-29T14:34:15Z ear-the-art quit (Ping timeout: 252 seconds) 2020-03-29T14:35:57Z jao joined #scheme 2020-03-29T14:36:10Z jao is now known as Guest90002 2020-03-29T14:40:01Z Guest90002 quit (Remote host closed the connection) 2020-03-29T14:40:28Z srandon111: mdhughes, but thr=e thing is.. that it seems to me that since iteration is more efficient.. why should we use recursion ? 2020-03-29T14:40:37Z jao- joined #scheme 2020-03-29T14:40:42Z srandon111: i mean when should we opt for recursion instead of iteration? 2020-03-29T14:41:50Z mdhughes: There's expressions you can't really write in iteration form easily. 2020-03-29T14:42:15Z srandon111: okok 2020-03-29T14:42:37Z srandon111: thanks 2020-03-29T14:42:59Z wasamasa: tail-recursion in scheme is guaranteed to perform in constant space 2020-03-29T14:43:00Z mdhughes: Like tree searches, which can be done by queueing stuff to do and working on it, but the natural way to write it is (dostuff left) (dostuff right) 2020-03-29T14:43:03Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-29T14:43:46Z mdhughes: Right, and that's why "iteration" in Scheme is just recursion with TCO, which is efficient. 2020-03-29T14:46:20Z srandon111: what is the suggested scheme for one that is starting with scheme? 2020-03-29T14:46:25Z srandon111: chicken? 2020-03-29T14:47:13Z srandon111: mdhughes, wasamasa 2020-03-29T14:47:16Z mdhughes: Chez, Chicken, Racket, Guile are all easy to set up, documented, and work well. 2020-03-29T14:47:31Z srandon111: mdhughes, what is the one with more libraries? 2020-03-29T14:47:41Z srandon111: i mean for common lisp the most common is sbcl 2020-03-29T14:47:50Z srandon111: for lisp is Chez? 2020-03-29T14:47:56Z mdhughes: I *very* much prefer Chez for speed and the best REPL in any Scheme. Chicken is kind of a pain in the ass to set up, but it has a lot of libraries. 2020-03-29T14:48:08Z wasamasa: racket has many libraries, too 2020-03-29T14:48:26Z wasamasa: CHICKEN went down in library count after the new major version 2020-03-29T14:48:28Z mdhughes: Yeah, Racket's insane on libraries. But it's slow, and DrRacket is an awful IDE. 2020-03-29T14:48:44Z wasamasa: it's funny because racket looks reasonable in benchmarks 2020-03-29T14:49:02Z mdhughes: For Chez, if you grab thunderchez you have all the SRFIs and a bunch of other libs, which is all you really need. 2020-03-29T14:49:13Z cartwright quit (Read error: Connection reset by peer) 2020-03-29T14:49:19Z srandon111: mdhughes, well but one could use vim or emacs no? 2020-03-29T14:49:25Z srandon111: i mean drracket is not mandatory right? 2020-03-29T14:49:41Z mdhughes: Yeah, and that's what I tell people to do, use `racket` from shell and whatever editor you like. 2020-03-29T14:49:51Z srandon111: mdhughes, what about books? what books od you reccomend for chez? 2020-03-29T14:50:12Z mdhughes: SICP, and TSPL. TSPL especially is a good engineering-with-Scheme book. 2020-03-29T14:50:22Z cartwright joined #scheme 2020-03-29T14:50:24Z srandon111: TSPL ? what's that? 2020-03-29T14:50:29Z srandon111: mdhughes, isn't SICP too hard? 2020-03-29T14:50:38Z mdhughes: Link's in the channel topic. 2020-03-29T14:51:05Z mdhughes: SICP's not that hard to start with, but it is a college freshman's textbook at a hard college. 2020-03-29T14:51:19Z TCZ quit (Quit: Leaving) 2020-03-29T14:51:54Z srandon111: mdhughes, what does that mean? 2020-03-29T14:52:05Z srandon111: i mean i don't understand your point 2020-03-29T14:52:08Z mdhughes: I'm working on a tract/short book Scheme for Software Engineering which will address all the "how to actually use Scheme" parts, but you'd still need to study. 2020-03-29T14:52:25Z srandon111: mdhughes, cool 2020-03-29T14:52:30Z srandon111: mdhughes, what about the little schemer? 2020-03-29T14:52:32Z mdhughes: Well, have you been to college? SICP is that hard. 2020-03-29T14:53:00Z mdhughes: Which is, not very hard, but you'll be spending a few hours every day on it for a year. 2020-03-29T14:54:09Z mdhughes: Little Schemer's aimed at very amateur non-programmers, and I didn't think it was fun enough. But some noobies really like it. 2020-03-29T14:55:31Z mdhughes: Oh, there is a Realm of Racket; I haven't read it except an excerpt, but it's some level of adaptation of Land of Lisp, which is a great book for the wrong language. 2020-03-29T14:58:05Z srandon111: mdhughes, why the wrong language? 2020-03-29T14:58:10Z srandon111: mdhughes, you don't like lisp? 2020-03-29T14:58:58Z mdhughes: nil 2020-03-29T15:03:31Z srandon111: mdhughes, wait i was looking at SICP lessons 2020-03-29T15:03:48Z srandon111: ad when he explains tower of hanoi he puts it as a recursion process... 2020-03-29T15:04:07Z srandon111: then he says... are you able to write an iterative process at the end of the lesson... ending with ... "that would be fun" 2020-03-29T15:04:14Z srandon111: so is this one of your cases: 2020-03-29T15:12:28Z pilne joined #scheme 2020-03-29T15:13:21Z TCZ joined #scheme 2020-03-29T15:14:32Z amirouche[m]: To learn scheme quickly: https://learnxinyminutes.com/docs/CHICKEN/ 2020-03-29T15:20:07Z bsima quit (Quit: ZNC 1.7.3 - https://znc.in) 2020-03-29T15:20:41Z bsima joined #scheme 2020-03-29T15:22:29Z mdhughes: I also somewhat like Concrete Abstractions: https://gustavus.edu/mcs/max/concrete-abstractions.html 2020-03-29T15:22:40Z mdhughes: It's 21 years out of date, tho. 2020-03-29T15:23:39Z TCZ quit (Quit: Leaving) 2020-03-29T15:31:00Z TCZ joined #scheme 2020-03-29T15:32:52Z skapata joined #scheme 2020-03-29T15:35:42Z srandon111: guys ii am having an hard time understanding this twoer of hanoi thing... https://www.youtube.com/watch?list=PLZHQObOWTQDMRtm8h9bG9P06WINNoBnCR&v=2SUvWfNJSsM 2020-03-29T15:35:45Z srandon111: can somebody help me? 2020-03-29T15:36:28Z srandon111: where is the rule about you can move only a single disk at a time in? and how does the system know that he cannot put laarger disks above smaller disks? 2020-03-29T15:44:57Z wasamasa: wikipedia is your friend 2020-03-29T15:45:04Z luni joined #scheme 2020-03-29T15:45:36Z srandon111: wasamasa, mmh not really 2020-03-29T15:45:46Z wasamasa: believe me 2020-03-29T15:46:49Z mdhughes: I dunno, that's some freaky numerology thing there; only way I know to do Hanoi is the typical recursive solution. 2020-03-29T15:48:06Z ArthurStrong joined #scheme 2020-03-29T16:10:35Z TCZ quit (Quit: Leaving) 2020-03-29T16:40:30Z jcowan: I am getting a very weird Chibi error that I haven't seen before 2020-03-29T16:40:46Z jcowan: I have ./srfi/189.sld and ./srfi/189.scm 2020-03-29T16:40:53Z jcowan: but here's what I get: 2020-03-29T16:41:02Z jcowan: ERROR: couldn't find import: (srfi 189) 2020-03-29T16:41:02Z jcowan: Searched module path ("./lib" "." "/usr/local/share/chibi" "/usr/local/lib/chibi" "/usr/local/share/snow" "/usr/local/lib/snow") for "srfi/189.sld". 2020-03-29T16:41:02Z jcowan: But found non-module-definition file "./srfi/189.scm". 2020-03-29T16:41:02Z jcowan: Note module files must end in ".sld". 2020-03-29T16:41:23Z jcowan: Anyone have a clue what's going on? 2020-03-29T16:47:20Z amirouche[m]: is it a recent build? 2020-03-29T16:50:06Z jcowan: HEAD 2020-03-29T16:50:28Z jcowan: Hmm, I always assumed these [m] suffixes were an ad hoc convention for "IRCing from my mobile"! 2020-03-29T16:51:47Z amirouche[m]: [m] is for matrix apparantly 2020-03-29T16:52:03Z amirouche[m]: I look at recent commits 2020-03-29T16:53:27Z klovett_ is now known as klovett 2020-03-29T16:55:02Z amirouche[m]: I see nothing related in this first page as far as december 2020-03-29T16:59:45Z acarrico joined #scheme 2020-03-29T17:07:50Z lavaflow quit (Ping timeout: 256 seconds) 2020-03-29T17:09:47Z lavaflow joined #scheme 2020-03-29T17:19:26Z nckx is now known as SecondChoiceNick 2020-03-29T17:19:31Z SecondChoiceNick is now known as nckx 2020-03-29T17:19:57Z srandon111: jcowan, why the hell are you using Chibi??? XD 2020-03-29T17:20:11Z jcowan: I like it. :-) 2020-03-29T17:20:22Z srandon111: is it usable? 2020-03-29T17:20:27Z srandon111: what do u like about it? 2020-03-29T17:25:57Z jcowan: It's very usable. I change machines a lot, and I can download it from github and build it very quickly 2020-03-29T17:26:13Z jcowan: even on Cygwin, where ./configure runs very slowly 2020-03-29T17:26:17Z jcowan: Chibi has no ./configure 2020-03-29T17:26:23Z srandon111: what do you deveop usually? 2020-03-29T17:26:32Z srandon111: can you show me ur github? 2020-03-29T17:26:45Z srandon111: jcowan, 2020-03-29T17:26:52Z jcowan: Look at srfi.schemers.org 2020-03-29T17:27:12Z amirouche[m]: jcowan is R 2020-03-29T17:27:26Z amirouche[m]: jcowan is R7RS.org editor 2020-03-29T17:27:59Z wasamasa: jcowan is too old for github 2020-03-29T17:28:05Z jcowan: I usually test SRFIs on Chicken (R5RS+), Guile (R6RS+), Chibi (R7RS), and sometimes Ypsilon (R6RS) 2020-03-29T17:28:11Z jcowan: http://github.com/johnwcowan 2020-03-29T17:28:38Z luni: ....i was looking for a little portable scheme implementation just the other day and i found tinyscheme 2020-03-29T17:29:43Z jcowan: Tiny is fine, but R5RS, not quite Scheme (some features missing), and much slower 2020-03-29T17:29:47Z jcowan: than Chibi 2020-03-29T17:30:12Z luni: ok...anyway i will try Chibi too, thank you for the mention 2020-03-29T17:30:51Z luni: sometime is very useful to have at disposal a little portable implementation 2020-03-29T17:34:20Z srandon111: wasamasa, he said he uses github 2020-03-29T17:34:37Z wasamasa gasps 2020-03-29T17:51:18Z zaifir: luni: TinyScheme's lack of hygienic macros is especially painful. There's almost no library support, too. 2020-03-29T17:55:30Z Guest66258 is now known as notzmv 2020-03-29T17:58:41Z luni: ok zaifir, i found it on a page and i wanted to try it ... https://en.wikibooks.org/wiki/Scheme_Programming/TinyScheme 2020-03-29T17:59:54Z zaifir: luni: Hey, I'm currently working on rewriting that wikibook. If you have anything to add to the TinyScheme page, please do. 2020-03-29T18:00:07Z zaifir: luni: It's kind of a mess, atm. 2020-03-29T18:03:17Z luni: which parts of the wiki are you rewriting? 2020-03-29T18:06:15Z zaifir: luni: The whole Scheme programming wikibook, if I get around to it. 2020-03-29T18:12:25Z zaifir: Given contributions from my fellow Schemers ;-), it would be a pretty quick project to improve it to something actually useful, or at least readable. 2020-03-29T18:13:09Z lavaflow quit (Ping timeout: 252 seconds) 2020-03-29T18:14:57Z amirouche[m]: I have given up on wikithings. 2020-03-29T18:15:30Z amirouche[m]: As far as this effort is in Oracle lands, I will not contribute. 2020-03-29T18:15:50Z DKordic: amirouche[m]: You mean MediaWiki or more general. Oracle? 2020-03-29T18:17:45Z amirouche[m]: Not really Oracle, but the I have reasons to believe wikimedia is sick, anyway that is off-topic. 2020-03-29T18:18:47Z DKordic: I agree so far. 2020-03-29T18:31:12Z amirouche[m]: To stay on-topic, I do not agree with the tools and practices they promote (PHP, Java, VueJS, microservices, centralized model...) and I know first hand they do not want to change it. 2020-03-29T18:31:33Z zaifir: Oi, conspiracy theories. 2020-03-29T18:31:41Z amirouche[m]: not really. 2020-03-29T18:32:08Z wasamasa: why change a running system 2020-03-29T18:32:29Z zaifir: We should be so fortunate as to have a publically-available Scheme intro as good as https://en.wikibooks.org/wiki/Haskell If Wikimedia wants to host it, I'm grateful. 2020-03-29T18:32:33Z amirouche[m]: wasama, exactly their point. 2020-03-29T18:34:06Z amirouche[m]: You do not need wikimedia to host a wiki. 2020-03-29T18:34:14Z wasamasa: tab key please 2020-03-29T18:34:40Z amirouche[m]: tab key? 2020-03-29T18:34:52Z DKordic: autocompletion of Nicknames. 2020-03-29T18:34:59Z wasamasa: especially non-trivial ones 2020-03-29T18:35:16Z amirouche[m]: Sorry, I get it. 2020-03-29T18:36:44Z lavaflow joined #scheme 2020-03-29T18:37:43Z zaifir: amirouche[m]: It's CC-BY-SA material, so anyone's free to host it. But, thinking of readscheme.org, I'd say having a wiki on someone's random server is part of the Curse Of Lisp. 2020-03-29T18:39:06Z amirouche[m]: Yes, I embrace the curse of lisp, if it aims to explore greather good and provide a path to achieve it. 2020-03-29T18:40:03Z luni left #scheme 2020-03-29T18:40:28Z amirouche[m]: 'curse of lisp' is what other communities call Not-Invented-Here syndrom and wheel re-invention. 2020-03-29T18:41:07Z jcowan: Only partly 2020-03-29T18:41:20Z jcowan: It's also the fact that what are technical problems in other langs are social problems for us. 2020-03-29T18:41:38Z jcowan: Changing C++ is so hard that everyone leaves it up to the ISO committee. 2020-03-29T18:41:48Z jcowan: Changing Lisp to the same degree is something any hacker can do. 2020-03-29T18:42:21Z amirouche[m]: they are also social problems in other communities, just they are not as open about it or as popular as 'curse of lisp' 2020-03-29T18:44:54Z amirouche[m]: Curse of lisp paper, shadow the very strength of LISP, that is "any hacker can do it" 2020-03-29T18:54:40Z DKordic: Diametrical to Curse of Lisp is Cargo Cult. As exemplified by C++. Lisp is not for Users. 2020-03-29T18:55:56Z Riastradh: .oO(Lisp is for navel-gazers, not for tool-users) 2020-03-29T19:00:58Z amirouche[m]: What does "Lisp is not for Useres" mean? 2020-03-29T19:01:58Z drakonis joined #scheme 2020-03-29T19:04:26Z amirouche[m]: DKordic: I do not understand, what do you mean with Cargo Cult and Lisp is not for Users? 2020-03-29T19:04:41Z DKordic thinks... 2020-03-29T19:05:09Z amirouche[m]: I looked up Cargo Cult (on wikipedia). 2020-03-29T19:05:21Z DKordic: ""We don't have any bugs, all bugs are Yours! "" 2020-03-29T19:05:58Z DKordic: If You chose to use, for example C, You agree with all of it's dcisions. 2020-03-29T19:06:42Z DKordic: s/You/I/ 2020-03-29T19:06:44Z DKordic: Am I even aware of them?! 2020-03-29T19:07:19Z DKordic: Do I make some sense now :3 ? 2020-03-29T19:09:39Z amirouche[m]: You sort of agree with all of its decisions, at least you support them in some way. 2020-03-29T19:09:47Z amirouche[m]: even if you are not aware of it. 2020-03-29T19:10:05Z amirouche[m]: (also most of the time you do not have the choice) 2020-03-29T19:10:53Z DKordic: And that is why Perl, Python, Ruby, Lua and what not happens, IMHO. 2020-03-29T19:11:37Z amirouche[m]: How do you come to that conclusion? 2020-03-29T19:11:50Z DKordic: Essentialy same thing as in Lisp through different means. 2020-03-29T19:13:12Z amirouche[m]: My understanding of Python success is that it is linked to the fact that Google and Youtube was using it extensively. Lua was made popular by World Of Warcraft. 2020-03-29T19:13:31Z amirouche[m]: Not necessarily, because of technical merits. 2020-03-29T19:14:47Z amirouche[m]: Google, youtube and WoW had their reasons to choose those tools, but that does not necessarly mean those tools are silver bullets. 2020-03-29T19:15:20Z amirouche[m]: And in many occasions (all the time), I see people taking the shortcut: if it works for them, it will work for us. 2020-03-29T19:16:15Z badkins joined #scheme 2020-03-29T19:17:19Z DKordic: ""C"" of ""CHA[racter ]P[rocessing]"" :3 ? 2020-03-29T19:17:42Z DKordic: Scratch ""C of"". 2020-03-29T19:18:33Z jcowan: in many languages the function that returns a character from a string is called CHAR and the default index is 0 2020-03-29T19:18:52Z jcowan: but only one language AFAIK also had a function to return all but the first character from a string 2020-03-29T19:18:58Z drakonis: amirouche[m]: WoW only? not quite 2020-03-29T19:18:59Z jcowan: naturally it was called CHDR 2020-03-29T19:19:18Z drakonis: lua is popular among a wide crowd of developers 2020-03-29T19:19:28Z drakonis: you could already find it among bioware's games 2020-03-29T19:20:36Z badkins quit (Ping timeout: 256 seconds) 2020-03-29T19:21:33Z jcowan: https://en.wikipedia.org/wiki/Category:Lua-scripted_video_games 2020-03-29T19:22:01Z drakonis: that's likely missing a variety of games 2020-03-29T19:29:23Z srandon111: guys why in scheme i see that global variables are used... when in most other programming languages they are discouraged... can somebody help me understand this point? 2020-03-29T19:29:42Z Riastradh: Mutable global variables are generally discouraged in Scheme too. 2020-03-29T19:31:38Z srandon111: what are mutable global variables? 2020-03-29T19:31:42Z srandon111: i mean constant 2020-03-29T19:31:52Z wasamasa: variables you never change 2020-03-29T19:31:53Z srandon111: Riastradh, ok but don't they make code less reusable? 2020-03-29T19:32:05Z Riastradh: In what programming languages are named constants discouraged? 2020-03-29T19:32:08Z srandon111: wasamasa, explain yout point 2020-03-29T19:32:17Z srandon111: Riastradh, named global constants... python 2020-03-29T19:32:20Z srandon111: java? 2020-03-29T19:32:26Z wasamasa: nope 2020-03-29T19:32:29Z wasamasa: absolutely wrong 2020-03-29T19:32:34Z srandon111: wasamasa, what? ok expllain 2020-03-29T19:32:39Z Riastradh: Can you cite a source discouraging them? 2020-03-29T19:33:17Z pjb: srandon111: global state is global. Local state should be local, not local. 2020-03-29T19:33:43Z srandon111: Riastradh, ok i am going to sarch... but first... a question... if i have a function called (dosomething x y) which takes two parameters and then within the function i use a constant defined somewhere else 2020-03-29T19:33:49Z srandon111: i don't have code reusability no? 2020-03-29T19:34:03Z srandon111: i mean if i take that function and move it to another module to re-use code i cannot do that 2020-03-29T19:34:13Z srandon111: since i will miss that constant which is not explicited in the arguments 2020-03-29T19:34:24Z srandon111: am i wrong? can somebody explain me where i am mistaking here? 2020-03-29T19:34:27Z srandon111: thanks 2020-03-29T19:34:46Z Riastradh: Can't say without more context. 2020-03-29T19:36:04Z wasamasa: the part about not using magic numbers and avoiding exposing implementation details is not about whether refactoring is a copy-paste job 2020-03-29T19:36:19Z wasamasa: it's about how painful it is doing changes to the implementation 2020-03-29T19:36:30Z wasamasa: in the case of a named constant I change the constant in one place, done 2020-03-29T19:36:41Z wasamasa: in the case of magic numbers I change it everywhere the literal is used 2020-03-29T19:37:06Z wasamasa: likewise with exposed implementation details 2020-03-29T19:37:24Z pjb: srandon111: note that all the functions you use in your functions are defined as global variables. To be really consistent here, you should pass them as parameter to your function! (define (do-something x y if null? car cons) (if (null? x) (cons y y) (car y))) which already proves difficult, given that if is syntax, not a function. So you would have to transform it into a function and use thunks: (define (do-something x y if 2020-03-29T19:37:24Z pjb: car cons) (if (null? x) (lambda () (cons y y)) (lamba () (car y)))) 2020-03-29T19:38:05Z wasamasa: mind you, this is not the only metric to optimize for, there's many more things to consider when writing programs and not one absolute truth 2020-03-29T19:38:37Z wasamasa: so stop obsessing with code reusability 2020-03-29T19:39:20Z pjb: srandon111: on the other hand, you may document for each function, the global variables it depends on. 2020-03-29T19:39:35Z srandon111: ok thanks guys... now i got the point 2020-03-29T19:40:05Z wasamasa: neither python nor scheme have special syntax to declare a constant, so you go with a convention like using MY_CONSTANT or +my-constant+ 2020-03-29T19:40:05Z srandon111: also off-topic from variables... in sicp i saw this... https://pastebin.com/zC3bf67c 2020-03-29T19:40:14Z srandon111: it blew my mind... that's a cool usage of context 2020-03-29T19:40:16Z srandon111: isn't it ? 2020-03-29T19:40:37Z pjb: Yes, local functions can be useful. 2020-03-29T19:40:42Z wasamasa: I find it to make things harder to read and prefer explicitly passing state 2020-03-29T19:42:06Z srandon111: wasamasa, what do you mean? 2020-03-29T19:42:14Z pjb: srandon111: and I would note that if you use OOP, then you can easily wrap the global state in a few objects, and then just have local references in methods. 2020-03-29T19:42:20Z srandon111: pjb, i don't see them often within other prog. langs 2020-03-29T19:42:34Z wasamasa: instead of referring to the outer x, have x as parameter in every helper function 2020-03-29T19:42:42Z pjb: srandon111: again, because other programming languages often don't allow local functions! 2020-03-29T19:42:44Z wasamasa: and ideally, have more descriptive names, too 2020-03-29T19:42:52Z pjb: srandon111: they're totally forbidden in C 2020-03-29T19:42:58Z pjb: or C++. 2020-03-29T19:43:11Z srandon111: wasamasa, you mean that you prefer to pass parameters instead of using globals? 2020-03-29T19:43:19Z wasamasa: this is not a global 2020-03-29T19:43:26Z srandon111: sorry because we were also tlaking about the code snippet i sent 2020-03-29T19:43:34Z srandon111: so i don't know to what your emssages were referred to 2020-03-29T19:43:40Z wasamasa: the square-root procedure 2020-03-29T19:43:49Z pjb: srandon111: yes, passing parameters. But all gathered into a single object. 2020-03-29T19:44:01Z srandon111: pjb, "because other prog labgs often do not allow local functions" wow... ok now i see 2020-03-29T19:44:08Z srandon111: wasamasa, i know 2020-03-29T19:44:23Z srandon111: wasamasa, ok wait i lost the flow of your convo since i don't know to what you are referring for each message 2020-03-29T19:59:14Z gravicappa quit (Ping timeout: 240 seconds) 2020-03-29T20:03:27Z zaifir: State can be hard to reason about. Global state can be super hard to reason about. 2020-03-29T20:03:54Z ecraven: zaifir: global state is simple: it's entirely non-deterministic and random :P 2020-03-29T20:07:17Z srandon111: okok thanks 2020-03-29T20:07:52Z srandon111: guys i see the common options for scheme are chicken/chez/racket... but what about MIT Scheme? the one from sicp ? is it used? 2020-03-29T20:08:09Z ecraven: yes 2020-03-29T20:08:21Z zaifir: srandon111: SICP uses a tiny subset of Scheme. It doesn't provide an implementation. 2020-03-29T20:08:30Z ecraven: all the Schemes are used. MIT/GNU Scheme is one of the more used ones (but not top 3 or so, I'd guess) 2020-03-29T20:09:32Z luni joined #scheme 2020-03-29T20:26:50Z ggole quit (Quit: Leaving) 2020-03-29T20:42:30Z TCZ joined #scheme 2020-03-29T21:08:36Z TCZ quit (Quit: Leaving) 2020-03-29T21:13:32Z TCZ joined #scheme 2020-03-29T21:15:44Z daviid joined #scheme 2020-03-29T21:16:55Z badkins joined #scheme 2020-03-29T21:19:51Z Naptra quit (Remote host closed the connection) 2020-03-29T21:21:15Z badkins quit (Ping timeout: 252 seconds) 2020-03-29T21:33:24Z luni quit (Remote host closed the connection) 2020-03-29T21:44:27Z ec is now known as super_annoyued 2020-03-29T21:44:34Z super_annoyued is now known as ec 2020-03-29T21:57:43Z seepel quit (Ping timeout: 260 seconds) 2020-03-29T22:24:02Z emacsoma1 quit (Quit: WeeChat 2.7.1) 2020-03-29T22:25:06Z emacsomancer joined #scheme 2020-03-29T22:26:24Z bandali quit (Quit: ZNC - https://znc.in) 2020-03-29T22:26:36Z bandali joined #scheme 2020-03-29T22:34:12Z stultulo joined #scheme 2020-03-29T22:35:31Z f8l quit (Ping timeout: 260 seconds) 2020-03-29T22:35:32Z stultulo is now known as f8l 2020-03-29T22:35:38Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-29T22:37:08Z terpri quit (Remote host closed the connection) 2020-03-29T22:37:36Z terpri joined #scheme 2020-03-29T22:39:42Z Gnuxie[m] quit (Ping timeout: 246 seconds) 2020-03-29T22:40:03Z seepel joined #scheme 2020-03-29T22:41:22Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-29T22:43:34Z ArthurStrong quit (Quit: leaving) 2020-03-29T22:44:51Z Gnuxie[m] joined #scheme 2020-03-29T22:45:39Z sudden quit (Ping timeout: 265 seconds) 2020-03-29T22:46:04Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-29T22:46:25Z sudden joined #scheme 2020-03-29T22:47:23Z titanbiscuit joined #scheme 2020-03-29T22:49:49Z mtld joined #scheme 2020-03-29T22:51:34Z TCZ quit (Quit: Leaving) 2020-03-29T22:52:41Z aeth: So I guess I have to build my own tracker of the lexical scope so I can see what the real procedure is in the event of (let ((+ -)) (+ 1 1)) so any potential optimizations can be retained. That is e.g. a hash table, and if true then it has been rebound. All rebindings are, fortunately, just lambdas themselves, either via let/etc. or define/etc. 2020-03-29T22:53:31Z aeth: Of course (let ((+ +)) (+ 1 1)) will deoptimize +, and even if I bothered to check for that, there are still things you can do to deoptimize it, like depending on a random number, etc. 2020-03-29T22:54:51Z stultulo joined #scheme 2020-03-29T22:55:14Z f8l quit (Ping timeout: 240 seconds) 2020-03-29T22:55:47Z amirouche[m] quit (Ping timeout: 246 seconds) 2020-03-29T22:56:23Z stultulo quit (Excess Flood) 2020-03-29T22:58:39Z stultulo joined #scheme 2020-03-29T22:59:10Z stultulo is now known as f8l 2020-03-29T23:00:15Z badkins joined #scheme 2020-03-29T23:01:38Z zaifir: deoptimize = pessimize 2020-03-29T23:02:30Z amirouche[m] joined #scheme 2020-03-29T23:03:27Z amirouche[m] quit (Changing host) 2020-03-29T23:03:27Z amirouche[m] joined #scheme 2020-03-29T23:03:27Z amirouche[m] quit (Changing host) 2020-03-29T23:03:27Z amirouche[m] joined #scheme 2020-03-29T23:04:11Z amnesia101101[m] quit (Ping timeout: 246 seconds) 2020-03-29T23:10:59Z jcowan: hardly. 2020-03-29T23:11:17Z jcowan: Bubble sort is deoptimized. Randomized-and-test sort is pessimized. 2020-03-29T23:14:51Z LeoNerd: Bogosort 2020-03-29T23:17:22Z zaifir: Well, 'optimize' doesn't usually mean the maximum possible improvement, meanings of 'optimal' notwithstanding. 2020-03-29T23:17:25Z jcowan: This is randomized bogosort. There are also deterministic bogosorts 2020-03-29T23:17:29Z jcowan: True 2020-03-29T23:17:40Z amnesia101101[m] joined #scheme 2020-03-29T23:18:03Z jcowan: randomized bogosort is more bogus than deterministic bogosort, which is at least bounded. 2020-03-29T23:28:11Z hive-mind quit (Ping timeout: 265 seconds) 2020-03-29T23:28:51Z hive-mind joined #scheme 2020-03-29T23:34:19Z xelxebar joined #scheme 2020-03-29T23:49:43Z mtld quit (Ping timeout: 260 seconds) 2020-03-30T00:05:50Z ayerhart quit (Quit: ayerhart) 2020-03-30T00:28:08Z nly quit (Ping timeout: 256 seconds) 2020-03-30T00:37:50Z badkins quit (Remote host closed the connection) 2020-03-30T00:38:21Z badkins joined #scheme 2020-03-30T00:43:02Z badkins quit (Ping timeout: 256 seconds) 2020-03-30T00:58:19Z skapata quit (Ping timeout: 252 seconds) 2020-03-30T01:08:08Z skapata joined #scheme 2020-03-30T01:15:06Z ngz quit (Ping timeout: 240 seconds) 2020-03-30T01:20:34Z lritter quit (Quit: Leaving) 2020-03-30T01:27:13Z badkins joined #scheme 2020-03-30T01:29:14Z badkins quit (Remote host closed the connection) 2020-03-30T01:29:50Z badkins joined #scheme 2020-03-30T01:34:37Z badkins quit (Ping timeout: 252 seconds) 2020-03-30T01:42:06Z ArthurStrong joined #scheme 2020-03-30T01:50:11Z skapata quit (Ping timeout: 272 seconds) 2020-03-30T01:57:03Z ArthurStrong quit (Ping timeout: 265 seconds) 2020-03-30T01:58:40Z ArthurStrong joined #scheme 2020-03-30T02:05:01Z xlei quit (Ping timeout: 264 seconds) 2020-03-30T02:16:52Z xlei joined #scheme 2020-03-30T02:18:19Z skapata joined #scheme 2020-03-30T02:35:53Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-30T02:50:21Z skapata quit (Ping timeout: 272 seconds) 2020-03-30T02:54:13Z turtleman quit (Ping timeout: 264 seconds) 2020-03-30T02:55:39Z Khisanth joined #scheme 2020-03-30T02:59:03Z aeth: Okay, this should be all of the issues (1-8) for r7rs-small that aren't macros or macro-like things. https://gitlab.com/mbabich/airship-scheme/-/issues 2020-03-30T03:01:44Z aeth: This doesn't include ASDF integration, SLIME and/or Geiser integration, a way to call foreign macros (surprisingly, potentially possible), SRFIs, etc. 2020-03-30T03:02:58Z skapata joined #scheme 2020-03-30T03:04:29Z badkins joined #scheme 2020-03-30T03:05:00Z badkins quit (Remote host closed the connection) 2020-03-30T03:05:36Z badkins joined #scheme 2020-03-30T03:10:22Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-30T03:10:46Z badkins quit (Ping timeout: 256 seconds) 2020-03-30T03:10:47Z m1dnight_ quit (Ping timeout: 256 seconds) 2020-03-30T03:10:59Z Khisanth joined #scheme 2020-03-30T03:12:48Z m1dnight_ joined #scheme 2020-03-30T03:19:13Z jcowan: Great! 2020-03-30T03:19:33Z jcowan: And I too have not been idle: SRFI 189, Maybe and Either, has just been published. 2020-03-30T03:23:02Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-30T03:26:00Z jcowan: aeth: there should be an issue for compiler macros so that calls to AIRSHIP-SCHEME:|car| expands to CL:CAR without compromising the CL compiler's ability to inline calls. 2020-03-30T03:26:01Z mdhughes: In modern (R6RS & R7RS) Scheme, you can use libraries or modules, and so global variables aren't visible outside unless you export them. 2020-03-30T03:27:16Z m1dnight_ quit (Read error: Connection reset by peer) 2020-03-30T03:27:41Z aeth: jcowan: Yes, that's right. I was also considering using compiler macros as a parallel for the built-in arbitrary-length procedure calls. That is, (+ x y z) is known length 3 at compile time, so there's no need to apply #'+ there. There are quite a few of these, but arithmetic is where it's the most noticable. 2020-03-30T03:28:03Z m1dnight_ joined #scheme 2020-03-30T03:28:25Z Khisanth quit (Ping timeout: 264 seconds) 2020-03-30T03:28:32Z jcowan nods 2020-03-30T03:28:47Z aeth: jcowan: As for the symbol names, I'm planning on making it configurable, but at the moment I invert the case of the Scheme reader for maximum CL compatibility. That is, it's R7RS:CAR, not R7RS:|car| like in my earlier cl-scheme attempt. 2020-03-30T03:29:09Z jcowan: yeah, that's probably better 2020-03-30T03:29:14Z aeth: The main cost here is a bit of conversion, as well as consing when getting the symbol name 2020-03-30T03:29:20Z jcowan: are modules packages, or is that all compiled away? 2020-03-30T03:29:22Z aeth: I could memoize the consing when getting the symbol name, though 2020-03-30T03:29:46Z aeth: jcowan: I suppose I will have to make libraries equivalent to packages because libraries can rename symbols, but I haven't gotten that far yet. That will probably be the last step. 2020-03-30T03:29:52Z aeth: At the moment everything is part of R7RS 2020-03-30T03:30:02Z aeth: Even if you define your own things (well, when I get define defined) 2020-03-30T03:31:52Z aeth: jcowan: I decided on making the global environment a closure around the Scheme-defined procedures. That is, the includes from the library and the global defines will define function-namespaced things that then get wrapped in a LET. So e.g. (let ((your-library:plus #'r7rs:+)) ...) if you renamed + into plus. 2020-03-30T03:32:40Z aeth: I haven't decided how to do the REPL names yet. 2020-03-30T03:33:25Z jcowan: makes sense, considering that R7RS supports multiple global environments, unlike standard CL 2020-03-30T03:34:08Z jcowan: REPL names just go into the (interaction-environment); that's what it's for. 2020-03-30T03:36:02Z aeth: Yes, but we probably talked about this in 2016... The special environment for the REPL names might be best as e.g. a hash table, which then requires a special case to essentially look up the key in the hash table if it's not in the lexical scope. 2020-03-30T03:36:34Z aeth: I'm going to have to track the lexical scope when compiling, anyway. Mainly so I don't accidentally run optimizations like compiler macros on (let ((+ -)) (+ 1 1)) as mentioned earlier. 2020-03-30T03:37:03Z jcowan: All the global environments (you start with 3 and can have arbitrarily many) can be hash tables if you want. 2020-03-30T03:37:55Z aeth: Yes, but the library environment can just work as a closure. The main disadvantage of this is that it makes any internal CL definitions (e.g. if I directly DEFUN within that) into non-top-level definitions so I e.g. can't use DECLAIM inside of the LET. 2020-03-30T03:38:27Z jcowan nods 2020-03-30T03:38:31Z aeth: An interactive environment probably is best as a hash-table but there are other hacks possible, like continually updating the LET 2020-03-30T03:38:56Z sz0 quit (Quit: Connection closed for inactivity) 2020-03-30T03:39:07Z jcowan nods 2020-03-30T03:39:13Z aeth: or, I guess, adding new LETs and SETFing old stuff. It can get fancy. 2020-03-30T03:40:14Z jcowan: You should look at https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/EnvironmentsMIT.md to get an idea of where global environments might be going. Not that you havce to implement it, just don't do anything inconsistent with it. 2020-03-30T03:42:05Z aeth: As for the earlier point on compiler macros, yes, I'm guessing I'm going to have define-scheme-macro (define-macro from within the Scheme; equivalent to cl:defmacro) and define-scheme-compiler-macro (define-compiler-macro from within the Scheme; equivalent to cl:define-compiler-macro) in addition to the Scheme macros. 2020-03-30T03:42:14Z gravicappa joined #scheme 2020-03-30T03:42:23Z aeth: I guess that's where it starts getting fun, defining things simultaneously for Scheme and CL. 2020-03-30T03:42:33Z aeth: As well as porting things from CL (eventually including CL's LOOP) 2020-03-30T03:42:47Z jcowan: you are in a sense recreating Rabbit 2020-03-30T03:42:52Z jcowan: which has 4 types of macros 2020-03-30T03:43:26Z jcowan: body can be Maclisp or Scheme, result can be Maclisp or SCchem 2020-03-30T03:44:20Z aeth: Well, the real fun part is if I take this to its logical conclusion and implement hygienic macros for Common Lisp, if such a thing is even possible. 2020-03-30T03:45:33Z aeth: Technically I guess I already have continuations for Common Lisp if I put the function call in the CPS transformation back into the function namespace instead of the variable namespace. 2020-03-30T03:46:27Z Khisanth joined #scheme 2020-03-30T03:50:15Z aeth: The logical end goal would be to make everything available in Scheme available to CL and everything available in CL available to Scheme, but obviously there are some limitations to that. For instance, a CPS transformation doesn't get you full continuations everywhere. 2020-03-30T03:53:20Z siraben: Anyone know if the hygienic macro algorithm by Kohlbecker has been translated to Haskell? 2020-03-30T03:54:19Z siraben: I'm reading the Hygienic Macro Expansion paper, transcribed their first (unhygienic) expansion algorithm; http://ix.io/2fWV 2020-03-30T03:58:47Z ArneBab quit (Ping timeout: 260 seconds) 2020-03-30T03:58:48Z ArneBab_ joined #scheme 2020-03-30T04:00:33Z siraben: However, their hygienic algorithm that follows seems very stateful, so perhaps there's a semantic translation (Oleg, perhaps?) of macro expansion. 2020-03-30T04:12:16Z pilne quit (Quit: Call me a relic, call me what you will. Say I'm old fashioned, say I'm over the hill.) 2020-03-30T04:27:51Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-30T04:35:01Z gravicappa quit (Ping timeout: 252 seconds) 2020-03-30T04:42:37Z Guest36118 quit (Remote host closed the connection) 2020-03-30T04:47:16Z Khisanth joined #scheme 2020-03-30T04:54:01Z cartwright quit (Write error: Connection reset by peer) 2020-03-30T04:54:01Z xelxebar quit (Write error: Connection reset by peer) 2020-03-30T04:54:04Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-30T04:54:17Z xelxebar joined #scheme 2020-03-30T04:57:25Z cartwright joined #scheme 2020-03-30T05:04:36Z seepel quit (Ping timeout: 256 seconds) 2020-03-30T05:13:41Z Khisanth joined #scheme 2020-03-30T05:17:57Z Khisanth quit (Ping timeout: 250 seconds) 2020-03-30T05:29:21Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-30T05:29:49Z aeth: jcowan: I "briefly" expanded on the macros part in a new issue. https://gitlab.com/mbabich/airship-scheme/-/issues/9 2020-03-30T05:30:16Z aeth: The thoughts on environments will either be edited into issue #6 or wait until the REPL issue, at some point later on. 2020-03-30T05:32:39Z aeth: I suppose this mostly leaves 4.1 (primitive expressions; although a lot of that just goes into the reader instead), 4.2 (derived expressions; maybe an issue per subsection makes sense); 5.2 (imports); 5.3 (define); 5.5 (define-record-type), 5.6 (define-library), and 5.7 (repl) 2020-03-30T05:33:07Z aeth: Ah, yes Appendix B, too. 2020-03-30T05:36:43Z Khisanth joined #scheme 2020-03-30T05:38:23Z aeth: And after that's done someone else can open up 140 SRFI issues if they want. ;-) 2020-03-30T05:44:39Z ArthurStrong quit (Quit: leaving) 2020-03-30T05:46:16Z seepel joined #scheme 2020-03-30T05:50:28Z gravicappa joined #scheme 2020-03-30T06:00:57Z klovett quit (Remote host closed the connection) 2020-03-30T06:01:34Z klovett joined #scheme 2020-03-30T06:14:15Z gravicappa quit (Ping timeout: 260 seconds) 2020-03-30T06:35:26Z m1dnight_ quit (Read error: Connection reset by peer) 2020-03-30T06:35:59Z m1dnight_ joined #scheme 2020-03-30T06:37:51Z gioyik joined #scheme 2020-03-30T07:04:28Z jobol joined #scheme 2020-03-30T07:07:26Z badkins joined #scheme 2020-03-30T07:12:19Z badkins quit (Ping timeout: 252 seconds) 2020-03-30T07:14:13Z _apg joined #scheme 2020-03-30T07:25:06Z gravicappa joined #scheme 2020-03-30T07:29:32Z srandon111: guys i just want to startscheme... can somebody suggest a common implementation? 2020-03-30T07:29:38Z srandon111: with also many libs? 2020-03-30T07:29:54Z seepel quit (Ping timeout: 256 seconds) 2020-03-30T07:30:01Z srandon111: is clojusre a scheme or a common lisp descendent? 2020-03-30T07:30:25Z CyDefect joined #scheme 2020-03-30T07:30:33Z wasamasa: it's its own thing, invented by someone who used CL at work 2020-03-30T07:31:49Z srandon111: wasamasa, ok what implementation do you suggest to start? 2020-03-30T07:31:52Z srandon111: other than racket 2020-03-30T07:31:53Z wasamasa: there is no single right answer of course, only you can know whether any of them has an edge over the rest for you 2020-03-30T07:32:03Z tdammers: clojure is very different from either. so much that a lot of lispers don't even consider it a proper lisp 2020-03-30T07:32:11Z srandon111: i want a scheme with which i can work through the sicp 2020-03-30T07:32:18Z srandon111: tdammers, why? 2020-03-30T07:32:21Z wasamasa: nearly any scheme will do for that purpose 2020-03-30T07:32:32Z srandon111: tdammers, why clojure is not a lisp? 2020-03-30T07:32:46Z srandon111: tdammers, but many lispers also do not soncisder scheme a lisp XD 2020-03-30T07:33:15Z wasamasa: there's a handful of implementation-specific changes you'll have to do in any case for some of the SICP exercises 2020-03-30T07:33:46Z ecraven: I've heard racket has good support for going through SICP 2020-03-30T07:34:13Z wasamasa: most confusingly, some people argue racket is not scheme :P 2020-03-30T07:34:19Z tdammers: srandon111: yeah, I don't really agree myself. 2020-03-30T07:34:28Z tdammers: wasamasa: I'd say racket is a scheme and then some 2020-03-30T07:34:32Z srandon111: ahahahah wasamasa ok but why all these disagreement 2020-03-30T07:34:32Z wasamasa: because it does intentionally depart from the scheme standards 2020-03-30T07:34:43Z wasamasa: because people have opinions about things they care about 2020-03-30T07:34:59Z civodul joined #scheme 2020-03-30T07:35:20Z tdammers: people also use "X is not a Y" as a proxy argument for "I hate X because it is not like Y, and I like Y" 2020-03-30T07:35:41Z srandon111: tdammers, got ya... actually i like clojure 2020-03-30T07:35:51Z wasamasa: exactly, these CL people just hate clojure for being different, yet still successful :P 2020-03-30T07:37:37Z tdammers: I kind of dislike clojure myself, but that's more because I think it's kind of a "worst of both worlds" 2020-03-30T07:37:59Z srandon111: tdammers, what do you mean > 2020-03-30T07:38:02Z srandon111: ? 2020-03-30T07:38:21Z srandon111: wasamasa, they probably want to still be alternative guys in a world where lisp languages are becoming more popular thanks to clojure 2020-03-30T07:38:35Z tdammers: too dynamic and effectful to do any proper equational reasoning, but also not capable of delivering a reliable dynamic workflow with good error messages and fast feedback cycles 2020-03-30T07:41:21Z wasamasa: it's funny because back at college I wished for a less painful java workflow and didn't expect to actually get that 2020-03-30T07:43:25Z srandon111: tdammers, yes in small experience with clojure what i didn't like was error messages 2020-03-30T07:43:30Z skapata quit (Remote host closed the connection) 2020-03-30T07:43:32Z srandon111: i never understand what they mean 2020-03-30T07:43:41Z wasamasa: but as lisp and java goes I'm happier with kawa 2020-03-30T07:46:03Z ecraven: kawa is great 2020-03-30T07:46:17Z wasamasa: I should do another project with it 2020-03-30T07:46:48Z wasamasa: maybe do something about its tooling 2020-03-30T07:47:07Z tdammers: what I found most prohibitive was actually the compilation and startup time 2020-03-30T07:47:32Z tdammers: most schemes start up fast, on the order of milliseconds, so you can just restart your whole program after each edit 2020-03-30T07:48:02Z wasamasa: it still beats clojure by a comfortable margin 2020-03-30T07:48:09Z tdammers: so my usual workflow works nicely: code in one terminal, test suite in another one, and then just a basic inotify loop to re-run the test suite after each save 2020-03-30T07:48:17Z tdammers: wasamasa: oh, I *am* talking about clojure 2020-03-30T07:48:22Z wasamasa: lol 2020-03-30T07:48:40Z wasamasa: with kawa it's like 1s vs the 10s of clojure 2020-03-30T07:48:51Z tdammers: but the clojure folks won't fix this, because they have decided that live code reloading is an acceptable alternative 2020-03-30T07:49:04Z tdammers: i.e., you start up your program, and then you reload modules into the live process 2020-03-30T07:49:46Z tdammers: but that's actually rather terrible, because you don't get a clean slate, and reloading doesn't actually replace the module wholesale, it loads a new module and re-binds its name 2020-03-30T07:50:04Z tdammers: so anything that still holds references to stuff from the old module still holds those same references 2020-03-30T07:50:23Z tdammers: while anything that resolves the namespace after the reload will use the new stuff 2020-03-30T07:50:57Z tdammers: and now you have a frankenmodule where some stuff uses what you're looking at, and other stuff uses what used to be what you were looking at but no longer exists in your source code 2020-03-30T07:51:19Z tdammers: and you won't notice, unless you actively go digging 2020-03-30T07:51:49Z tdammers: so if you want to actually know that your stuff works, you still have to restart the process 2020-03-30T07:53:50Z wasamasa: actually, this is kawa vs leiningen 2020-03-30T07:53:57Z wasamasa: with the `clj` commands it's less bad 2020-03-30T07:54:27Z tdammers: still kinda bad though 2020-03-30T07:54:41Z wasamasa: 2 vs 3 seconds to start and exit a repl 2020-03-30T07:54:54Z srandon111: wasamasa, but with clojure now there is graalVM 2020-03-30T07:55:01Z tdammers: IMO, there are two viable options - fast reliable feedback cycles, or strong static guarantees and useful error messages 2020-03-30T07:55:01Z srandon111: and you get almost the performances of C 2020-03-30T07:55:17Z wasamasa: yeah, in exchange for insane compile times 2020-03-30T07:55:29Z wasamasa: and image sizes :D 2020-03-30T07:56:25Z tdammers: if I have to live with insane compile times, I prefer Haskell, then at least I know that once my code builds, any remaining bugs will be either specification errors, or the result of not using the type system enough, or the result of me explicitly asking for trouble 2020-03-30T07:56:40Z wasamasa: yup, exactly 2020-03-30T07:57:10Z wasamasa: btw, CHICKEN has less than ideal compile times, too 2020-03-30T07:57:25Z wasamasa: but they found that to improve when using tcc as C backend :D 2020-03-30T07:58:12Z tdammers: compiling via C strikes me as suboptimal if fast compile times are your goal 2020-03-30T07:58:30Z klovett quit (Remote host closed the connection) 2020-03-30T07:58:48Z wasamasa: I dunno whether the competitors do any better in this aspect, like gambit 2020-03-30T07:58:48Z klovett joined #scheme 2020-03-30T07:59:23Z wasamasa: it's kind of funny because normal C code compiles quickly, but not this CPS soup 2020-03-30T07:59:48Z wasamasa: unless you use a C compiler doing close to no optimization 2020-03-30T08:11:41Z tdammers: it is funny, yes 2020-03-30T08:22:54Z gioyik quit (Quit: WeeChat 2.7.1) 2020-03-30T08:52:52Z aeth: srandon111: Both Racket and Clojure deviate from the basic core data structure of Lisps, which is the s-expression built by the cons pair. Racket deviates by making pairs immutable. Clojure doesn't use it at all as the building blocks of the syntax iirc. 2020-03-30T08:53:02Z aeth: I'm looking through Clojure's docs and can't confirm that for sure, though 2020-03-30T08:53:24Z aeth: Now, I mean, just making conses immutable like Racket doesn't really make it not a Lisp. 2020-03-30T08:53:47Z aeth: It only breaks a few algorithms. 2020-03-30T08:53:58Z wasamasa: it breaks hackernews 2020-03-30T08:55:02Z aeth: Anyway, immutable pairs may or may not make Racket not a Scheme, though. 2020-03-30T08:57:24Z aeth: So you have historic Lisp. This is Emacs Lisp, that's the only living historic one. Common Lisp and Scheme deviate by adding lexical (instead of the traditional dynamic) scope, although Emacs Lisp has that as an option now. Common Lisp is OOP/iterative, Scheme is continuation-filled/recursive. 2020-03-30T08:57:40Z aeth: And Racket further deviates from Scheme by having immutable cons pairs instead of mutable cons pairs. 2020-03-30T08:59:17Z aeth: And Clojure had to make a bunch of compromises to blend in more with the JVM (which is why it's way more popular and probably more efficient than ABCL or Kawa Scheme) so it superficially looks a bit like a modern CL, but it's really a very different language with an emphasis on concurrency, which is why classifying it is so controversial. 2020-03-30T09:00:40Z aeth: Oh, and every Lisp (and not-Lisp-but-close) renames nearly everything (to different things), except for CL, which remained mostly-compatible with historic Lisps. 2020-03-30T09:03:14Z aeth: tdammers: The live code reloading thing is a thing in CL, too. There are ways around it when you want to go around it (and restarting is pretty fast). I don't think it's as big of an issue in CL, though. I think that's because functions held are usually looked up on calling. 2020-03-30T09:03:46Z aeth: Iirc, in CL, when passing in to a higher order function #'foo will hold the original foo and can go stale, but 'foo will always look up the binding of foo. 2020-03-30T09:14:07Z redeemed joined #scheme 2020-03-30T09:20:54Z cartwright quit (Remote host closed the connection) 2020-03-30T09:25:11Z cartwright joined #scheme 2020-03-30T09:26:38Z CyDefect quit (Ping timeout: 256 seconds) 2020-03-30T09:28:07Z hidetora joined #scheme 2020-03-30T09:38:52Z tdammers: aeth: yeah, IME it's less problematic in CL, though I have done only minimal amounts of work in that 2020-03-30T09:58:07Z seepel joined #scheme 2020-03-30T10:41:28Z Naptra joined #scheme 2020-03-30T10:48:17Z luni joined #scheme 2020-03-30T11:08:59Z sz0 joined #scheme 2020-03-30T11:24:00Z seepel quit (Ping timeout: 265 seconds) 2020-03-30T11:30:11Z stepnem quit (Ping timeout: 250 seconds) 2020-03-30T11:31:16Z stepnem joined #scheme 2020-03-30T11:34:01Z xkapastel joined #scheme 2020-03-30T11:40:31Z Naptra quit (Remote host closed the connection) 2020-03-30T11:42:00Z mdhughes: You can tell a lot of it is political, because Arc is more divergent than Clojure, but everyone loves Paul Graham so Arc is a Lisp. 2020-03-30T11:43:38Z ggole joined #scheme 2020-03-30T11:44:25Z tdammers: oh dear, yes, the amount of love PG is getting from the lisp crowd is unhealthy 2020-03-30T11:45:39Z wasamasa: even Bel :D 2020-03-30T11:45:50Z tdammers: I, for one, am perfectly willing to consider clojure a lisp. I don't really care much about implementation details, really; anything that gives me conceptually homoiconic sexpr semantics is, as far as I am concerned, a lisp 2020-03-30T11:48:57Z mdhughes: His next one will be Car, and *that* is the 102-year-language. 2020-03-30T11:49:22Z mdhughes: http://arclanguage.org/install 2020-03-30T11:49:27Z mdhughes: Hah! 2020-03-30T11:49:51Z mdhughes: You can just stop after step 1, because you have a (not my favorite, but working) Scheme. 2020-03-30T11:49:55Z tdammers: (eq? Car (cddr Arc)) 2020-03-30T11:50:46Z tdammers: it is funny though that you have to install racket first 2020-03-30T11:53:51Z wasamasa: an ancient racket 2020-03-30T11:54:10Z wasamasa: it won't work with mpairs 2020-03-30T11:54:21Z mdhughes: https://github.com/arclanguage/anarki 2020-03-30T11:54:30Z mdhughes: "Anarki comes bundled with News, a Hacker News style app." 2020-03-30T11:54:51Z mdhughes: That's actually useful, that's a thing more Schemes should do: Ship some useful example. 2020-03-30T11:58:31Z Naptra joined #scheme 2020-03-30T12:01:03Z mdhughes: "A really good language should be both clean and dirty: cleanly designed, with a small core of well understood and highly orthogonal operators, but dirty in the sense that it lets hackers have their way with it. C is like this. So were the early Lisps. A real hacker's language will always have a slightly raffish character." 2020-03-30T12:01:03Z mdhughes: http://paulgraham.com/popular.html 2020-03-30T12:04:15Z turtleman joined #scheme 2020-03-30T12:05:15Z lavaflow quit (Ping timeout: 258 seconds) 2020-03-30T12:09:50Z lockywolf joined #scheme 2020-03-30T12:10:56Z lockywolf quit (Remote host closed the connection) 2020-03-30T12:11:20Z lockywolf joined #scheme 2020-03-30T12:16:23Z cpape` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-30T12:20:37Z turtleman quit (Ping timeout: 264 seconds) 2020-03-30T12:26:16Z cpape joined #scheme 2020-03-30T12:36:28Z f8l quit (Ping timeout: 256 seconds) 2020-03-30T12:37:53Z jcowan: Let a hundred flowers bloom, let a thousand schools of thought contend. 2020-03-30T12:39:43Z jcowan smiles benignly like one of those gurus in bad movies 2020-03-30T12:46:24Z f8l joined #scheme 2020-03-30T12:46:52Z Naptra quit (Remote host closed the connection) 2020-03-30T12:51:19Z jcowan: The problem with Kohlbecker's algo is its inefficiency. 2020-03-30T12:57:48Z acarrico quit (Quit: Leaving.) 2020-03-30T13:13:02Z zmt01 joined #scheme 2020-03-30T13:13:50Z mdhughes_ joined #scheme 2020-03-30T13:14:25Z mroh_ joined #scheme 2020-03-30T13:14:31Z mario-go` joined #scheme 2020-03-30T13:15:26Z lockywolf_ joined #scheme 2020-03-30T13:15:43Z jackhill_ joined #scheme 2020-03-30T13:15:47Z mario-goulart quit (Read error: Connection reset by peer) 2020-03-30T13:15:48Z kilimanjaro quit (Ping timeout: 240 seconds) 2020-03-30T13:15:48Z Oxyd quit (Ping timeout: 240 seconds) 2020-03-30T13:15:48Z mdhughes quit (Ping timeout: 240 seconds) 2020-03-30T13:15:48Z jackhill quit (Ping timeout: 240 seconds) 2020-03-30T13:15:48Z mroh quit (Ping timeout: 240 seconds) 2020-03-30T13:15:49Z evdubs quit (Ping timeout: 240 seconds) 2020-03-30T13:15:49Z zmt00 quit (Ping timeout: 240 seconds) 2020-03-30T13:15:49Z tumdum quit (Ping timeout: 240 seconds) 2020-03-30T13:16:44Z tumdum joined #scheme 2020-03-30T13:16:52Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:16:55Z kilimanjaro joined #scheme 2020-03-30T13:17:32Z lockywolf_ joined #scheme 2020-03-30T13:17:54Z lockywolf quit (Ping timeout: 240 seconds) 2020-03-30T13:18:11Z Oxyd joined #scheme 2020-03-30T13:18:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:18:59Z lockywolf_ joined #scheme 2020-03-30T13:20:25Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:20:53Z lockywolf_ joined #scheme 2020-03-30T13:22:11Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:22:40Z lockywolf_ joined #scheme 2020-03-30T13:24:05Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:24:37Z lockywolf_ joined #scheme 2020-03-30T13:25:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:26:01Z lockywolf_ joined #scheme 2020-03-30T13:26:56Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:27:26Z lockywolf_ joined #scheme 2020-03-30T13:28:24Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:28:56Z lockywolf_ joined #scheme 2020-03-30T13:30:21Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:31:15Z lockywolf_ joined #scheme 2020-03-30T13:31:57Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:32:06Z lritter joined #scheme 2020-03-30T13:32:23Z lockywolf_ joined #scheme 2020-03-30T13:33:48Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:34:29Z lockywolf_ joined #scheme 2020-03-30T13:36:33Z spectrumgomas[m] left #scheme 2020-03-30T13:36:56Z evdubs joined #scheme 2020-03-30T13:37:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:38:00Z lockywolf_ joined #scheme 2020-03-30T13:39:01Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:39:45Z lockywolf_ joined #scheme 2020-03-30T13:40:56Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:41:24Z lockywolf_ joined #scheme 2020-03-30T13:42:27Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:43:07Z jcowan: I also solved the problem of Chibi not finding a library; if the file name does not match the library name, Chibi treats it as not-a-library. 2020-03-30T13:43:13Z lockywolf_ joined #scheme 2020-03-30T13:43:25Z f8l quit (Remote host closed the connection) 2020-03-30T13:43:56Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:44:30Z lockywolf_ joined #scheme 2020-03-30T13:44:52Z f8l joined #scheme 2020-03-30T13:45:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:46:17Z lockywolf_ joined #scheme 2020-03-30T13:46:58Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:47:25Z lockywolf_ joined #scheme 2020-03-30T13:47:42Z daviid quit (Ping timeout: 256 seconds) 2020-03-30T13:48:19Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:48:51Z lockywolf_ joined #scheme 2020-03-30T13:50:16Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:51:00Z lockywolf_ joined #scheme 2020-03-30T13:51:56Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T13:52:26Z lockywolf_ joined #scheme 2020-03-30T13:53:47Z lockywolf_ quit (Max SendQ exceeded) 2020-03-30T13:54:30Z lockywolf_ joined #scheme 2020-03-30T13:55:26Z lockywolf_ quit (Remote host closed the connection) 2020-03-30T14:03:33Z gwatt: seems fair 2020-03-30T14:14:26Z gravicappa quit (Ping timeout: 258 seconds) 2020-03-30T14:17:01Z gravicappa joined #scheme 2020-03-30T14:21:00Z badkins joined #scheme 2020-03-30T14:24:32Z jcowan: Sure. But the error message saying that foo.sld is not on the path when it is obviously right there is misleading, and I've filed a ticket to improve the message. 2020-03-30T14:27:29Z srandon111: can somebody help me understand a part during SICP ? 2020-03-30T14:27:51Z zaifir: srandon111: What's up? 2020-03-30T14:28:29Z pjb: srandon111: not if you don't say more. 2020-03-30T14:29:38Z jxy quit (Ping timeout: 240 seconds) 2020-03-30T14:29:42Z srandon111: ok this lecture... https://www.youtube.com/watch?v=eJeMOEiHv8c&list=PLE18841CABEA24090&index=3 minute 18.30 he shows an higher order procedure... to compute different types of sum functions 2020-03-30T14:30:16Z srandon111: basically he uses that higher order function to generate different type of sum functions... like normal sum, sum of squares and so on... 2020-03-30T14:30:40Z pjb: srandon111: remember (define (do-something x y if null? car cons) (if (null? x) (lambda () (cons y y)) (lamba () (car y)))) ? 2020-03-30T14:30:41Z srandon111: then he states that now he change the higher order function implementation without changing the other functions... 2020-03-30T14:30:53Z zaifir: Right. 2020-03-30T14:30:53Z srandon111: pjb, wait a sec 2020-03-30T14:31:52Z srandon111: ok now my thing is... well i agree with him... but if i find out that i want to change for example adding a parameter to that sum function i still have to change also all the other functions i generated using the higher order function 2020-03-30T14:32:04Z srandon111: i mean i can change the implementation up to a certain point 2020-03-30T14:32:10Z srandon111: am i right? 2020-03-30T14:32:14Z zaifir: srandon111: Can you give an example? 2020-03-30T14:32:45Z srandon111: zaifir, what if i find out that my new implementation of sum needs an additional parameter... which is like let's say for the sake of this example... a maximum bound... 2020-03-30T14:32:59Z pjb: srandon111: the problem is that global bindings are used by everybody. 2020-03-30T14:32:59Z wasamasa: counterpoint: imagine how much you had to change if you didn't use higher-order functions 2020-03-30T14:33:15Z srandon111: at this point i have to change the higher order function adding this parameter in the define... 2020-03-30T14:33:27Z srandon111: and then i also have to add that parameter in all other functions generated with it 2020-03-30T14:33:29Z pjb: srandon111: using HOF, since you now use local bindings (the parameters), you can have different bindings for different (HOF) functions. 2020-03-30T14:33:36Z srandon111: pjb, no i am not talking about globals 2020-03-30T14:34:00Z zaifir: srandon111: Yes, you might find that what you want to write requires a different pattern than the higher-order function you've been using expresses. 2020-03-30T14:34:05Z pjb: of course, the counterpart is that you now to list explicitely in the parameter list all the dependencies you have. 2020-03-30T14:34:07Z srandon111: wasamasa, i agree with tou yes of course 2020-03-30T14:34:36Z pjb: If you change the implementation so much that you now have different dependencies, you are changing the API of the HOF, and this has repercusions. 2020-03-30T14:34:47Z srandon111: ok pjb thanks... 2020-03-30T14:34:50Z wasamasa: the interesting thing about the use of scheme is how easy it is to showcase vastly different programming concepts 2020-03-30T14:35:02Z srandon111: i think it is still a difficult point to understand at the beginning how much i would like to change in the future 2020-03-30T14:35:08Z wasamasa: the changes needed to switch from one concept to another aren't nearly as relevant here 2020-03-30T14:35:20Z pjb: but when you work with a given set of objects, you will have often a given limited set of functions to process them (with OOP, they will be their methods). So it's manageable. 2020-03-30T14:35:38Z zaifir: srandon111: A huge number of higher-order list functions are folds (crushing a list into a value) or unfolds (building up a list from a value). Sum is a fold. 2020-03-30T14:36:13Z pjb: srandon111: indeed, this is why a lot of people, notably in commercial environments, tend to postpone any consideration of the future, and just code for the immediate problem. This is what builds up technical debt. 2020-03-30T14:36:23Z pjb: srandon111: have you heard of the GPS? 2020-03-30T14:36:30Z pjb: srandon111: GPS = General Problem Solver. 2020-03-30T14:36:39Z srandon111: pjb, no what is that? 2020-03-30T14:36:43Z zaifir: srandon111: Once you get the patterns into your head, you'll start to write functions that follow them. 2020-03-30T14:37:02Z pjb: srandon111: it's an early AI algorithm that solves all the problems. 2020-03-30T14:37:03Z srandon111: pjb, isn't there a design pattern which was allowing me to change the interface but keeping the compatibility? 2020-03-30T14:37:06Z srandon111: probably the adapter? 2020-03-30T14:37:13Z srandon111: i have some memories of that 2020-03-30T14:37:13Z pjb: srandon111: basically, if you try to program for all possible cases in the future, you will get a program that does nothing (by itself). 2020-03-30T14:37:16Z zaifir: Design patterns are snake oil! 2020-03-30T14:37:27Z pjb: srandon111: you need to provide a full description of the universe, which is hard… 2020-03-30T14:37:29Z wasamasa: design patterns are workarounds for language deficiencies 2020-03-30T14:37:33Z srandon111: zaifir, i don't understand what it means to be snake oil 2020-03-30T14:37:38Z pjb: zaifir: design patterns are macros!!! 2020-03-30T14:37:48Z srandon111: wasamasa, ok but how do you solve the adapter problem? 2020-03-30T14:38:14Z pjb: zaifir: http://groups.google.com/group/comp.lang.lisp/msg/ee09f8475bc7b2a0 http://groups.google.com/group/comp.programming/msg/9e7b8aaec1794126 2020-03-30T14:38:18Z zaifir: wasamasa: Exactly. "Here's a bunch of tricks we use to deal with what a mess C++ is. Now, let's pretend they're universal truths of computation." 2020-03-30T14:38:49Z wasamasa: http://mishadoff.com/blog/clojure-design-patterns/#episode-20-adapter 2020-03-30T14:39:05Z zaifir: pjb: Yes, and sometimes they're higher-order functions or typeclasses. 2020-03-30T14:39:30Z pjb: srandon111: you really have 3 choices here. 1) using global variables. 2) using local parameterS. 3) using objects and its methods. Then you don't need to pass all the functions, just the objects. You access the functions thru the object (methods). 2020-03-30T14:40:45Z zaifir: srandon111: It's a very general challenge in programming. Keep going with SICP; they spend a *lot* of time talking about how to build modular systems. 2020-03-30T14:41:21Z srandon111: ook zaifir thanks 2020-03-30T14:41:22Z wasamasa: > Eve: But from implementation perspective all these pattern are the same, wrap something and delegate calls to wrapper. “Wrapper” could be a good name for these patterns. 2020-03-30T14:41:59Z srandon111: ahahah wasamasa 2020-03-30T14:42:02Z wasamasa: > Adapter - wrapper, same functionality, different type 2020-03-30T14:42:24Z wasamasa: this page helps understanding that these patterns work around lack of first-class functions 2020-03-30T14:42:30Z srandon111: zaifir, what were you referring to when you said "it's a very general challenge in programming" ? 2020-03-30T14:42:31Z zaifir: Gang of 4 style: http://wiki.c2.com/?KansasCityAirConditioner 2020-03-30T14:42:44Z zaifir: srandon111: Changing the system while keeping compatibility. 2020-03-30T14:43:28Z lavaflow joined #scheme 2020-03-30T14:44:06Z wasamasa: that's something more general than that design pattern 2020-03-30T14:44:35Z wasamasa: the only thing helping there is careful design and some rules like adding functionality instead of changing/deleting it 2020-03-30T14:45:18Z mdhughes_ is now known as mdhughes 2020-03-30T14:45:55Z wasamasa: for example when working with structs in C, you always add new members at the end of the struct declaration to avoid breaking ABI 2020-03-30T14:46:00Z klovett quit (Ping timeout: 256 seconds) 2020-03-30T14:46:24Z zaifir: ABI compatibility is a real nightmare. 2020-03-30T14:46:49Z wasamasa: or with database design you add new fields and adapt your model accordingly 2020-03-30T14:48:31Z zaifir: SICP basically emphasizes ad-hoc polymorphism and object-oriented programming as two major ways of building flexible systems. But there's a lot more to it, of course. 2020-03-30T14:50:04Z jxy joined #scheme 2020-03-30T14:50:31Z oxum quit (Quit: Leaving...) 2020-03-30T14:50:48Z oxum joined #scheme 2020-03-30T14:56:15Z klovett joined #scheme 2020-03-30T14:56:49Z wasamasa is now known as {{{ 2020-03-30T14:57:28Z acarrico joined #scheme 2020-03-30T14:57:59Z xlei quit (Ping timeout: 252 seconds) 2020-03-30T14:58:48Z xlei joined #scheme 2020-03-30T15:01:27Z srandon111: zaifir, also in the same lecture he changes the square root function in a way in which he has a function getting one other function as an argument and returning a function... but i can't get the advantages of this implementation =( 2020-03-30T15:03:33Z zaifir: srandon111: Can you point to that implementation in the book? I'm guessing it's somewhere around here https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-10.html#%_sec_1.1.7 2020-03-30T15:04:24Z xlei quit (Ping timeout: 265 seconds) 2020-03-30T15:06:42Z srandon111: zaifir, unluckily i think that specific example with square roots is only in the video 2020-03-30T15:06:48Z srandon111: i was looking at the book too 2020-03-30T15:06:58Z srandon111: basically it's before he introduces the newton method in the video 2020-03-30T15:07:34Z zaifir: OK, looking at the video now. 2020-03-30T15:07:45Z zaifir: Wow, this one really has bad audio. 2020-03-30T15:08:30Z {{{ is now known as }}} 2020-03-30T15:08:36Z zaifir: Oh, the second half is much better. 2020-03-30T15:08:52Z DGASAU` joined #scheme 2020-03-30T15:08:55Z srandon111: zaifir, yes i enabled the subs 2020-03-30T15:09:05Z }}} is now known as wasa 2020-03-30T15:09:20Z xelxebar_ joined #scheme 2020-03-30T15:09:43Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-30T15:09:51Z zaifir: srandon111: Did you mean the fixpoint version? 2020-03-30T15:09:57Z srandon111: yes 2020-03-30T15:10:00Z srandon111: zaifir, 2020-03-30T15:10:27Z eagleflo quit (Ping timeout: 260 seconds) 2020-03-30T15:10:27Z `micro quit (Ping timeout: 260 seconds) 2020-03-30T15:10:31Z Kooda quit (Ping timeout: 268 seconds) 2020-03-30T15:10:49Z `micro joined #scheme 2020-03-30T15:10:50Z eagleflo joined #scheme 2020-03-30T15:11:52Z zaifir: srandon111: I think he intends to demonstrate how you can use a higher-order `fixed-point' function to compute many things that you'd otherwise need direct recursion for. 2020-03-30T15:12:35Z zaifir: srandon111: This is how you "do recursion" with only anonymous functions, for example. 2020-03-30T15:12:40Z hansbauer[m] quit (Ping timeout: 240 seconds) 2020-03-30T15:12:40Z keep-learning[m] quit (Ping timeout: 240 seconds) 2020-03-30T15:12:40Z srandon111: zaifir, the thing is that i am confused... i mean i dont understand this fixed point thing that he uses again and again... 2020-03-30T15:12:40Z srandon111: also in the subsequent newton method 2020-03-30T15:12:47Z DGASAU quit (Ping timeout: 260 seconds) 2020-03-30T15:13:06Z srandon111: zaifir, i didn't see any recursion to say the truth... wait i will write the two versions so that we can compare them... 2020-03-30T15:14:04Z notzmv quit (Ping timeout: 265 seconds) 2020-03-30T15:15:36Z xlei joined #scheme 2020-03-30T15:17:02Z hansbauer[m] joined #scheme 2020-03-30T15:19:35Z zaifir: srandon111: Due to the definition of `improve'--(improve guess x) ; => (average guess (/ x guess)), you have the identity (improve (sqrt x) x) = (sqrt x) 2020-03-30T15:21:02Z zaifir: srandon111: So the problem of computing the sqrt of x is the problem of finding a fixed point of (λ (y) (improve y x)). 2020-03-30T15:22:41Z keep-learning[m] joined #scheme 2020-03-30T15:23:24Z ngz joined #scheme 2020-03-30T15:24:57Z srandon111: zaifir, if he made simpler example it would be much more simple to understand... 2020-03-30T15:26:46Z xlei quit (Ping timeout: 240 seconds) 2020-03-30T15:27:57Z zaifir: Sussman moves really fast sometimes. 2020-03-30T15:28:09Z xlei joined #scheme 2020-03-30T15:29:20Z srandon111: zaifir, but i also have hard time because he not only tries to give you hard concepts sometimes but also taking examples which are not "everyday" scenarios 2020-03-30T15:29:33Z srandon111: like approximations of square roots or newton methods 2020-03-30T15:33:38Z Kooda joined #scheme 2020-03-30T15:34:30Z srandon111: zaifir, ok the three versions are these ones... https://pastebin.com/bPfBqQWS 2020-03-30T15:34:49Z srandon111: 1) i don't understand the advantage of the second version wrt to the first version 2020-03-30T15:35:03Z srandon111: but probably here it was a sort of intermediate step to arrive to the third version 2020-03-30T15:35:19Z zaifir: srandon111: SICP is very mathematically-oriented. 2020-03-30T15:35:40Z srandon111: then... i find the third version very concise but difficult to read and difficult ot understand what is the design reasoning behind and how i could generalize this pattern to other cases 2020-03-30T15:36:00Z srandon111: zaifir, i studied engineering and know the concepts he does although some years have passed from my math exams... 2020-03-30T15:36:19Z srandon111: the thing is that since i am not into numerical analysis i have forgot about newton methods and companions 2020-03-30T15:36:41Z srandon111: anyway i think i should focus on the pattern behind this decision 2020-03-30T15:37:35Z zaifir: srandon111: The idea is to modularize using the fixed-point function, then find an `improve' function that converges faster. 2020-03-30T15:37:53Z srandon111: zaifir, ok but where is the convergence here? 2020-03-30T15:37:57Z srandon111: sorry... 2020-03-30T15:38:03Z srandon111: s/convergence/tolerance/ 2020-03-30T15:38:29Z zaifir: srandon111: fixed-point 2020-03-30T15:38:47Z srandon111: zaifir, ok it is another method with convergence builtin 2020-03-30T15:39:01Z pjb: srandon111: in short, the point of those HOF, is to show that some algorithms don't depend on the actual objects they work on; they're general algorithms that can be applied for all kind of problem, as long as you can parameterize those problems as a set of functions passed as parameters. 2020-03-30T15:39:01Z srandon111: ok but he is changing method 2020-03-30T15:39:22Z srandon111: pjb, ok i am cool with that 2020-03-30T15:39:32Z srandon111: but the returning function example i still don't quite get it 2020-03-30T15:39:37Z srandon111: i get the pass functions as parameters 2020-03-30T15:40:00Z zaifir: srandon111: Because he uses the fixed point method, he can significantly improve the function by simply modifying the way successives guesses are made. 2020-03-30T15:40:13Z zaifir: srandon111: This is a powerful example of modularity. 2020-03-30T15:40:30Z zaifir: s/successives/successive/ 2020-03-30T15:42:38Z Tirifto joined #scheme 2020-03-30T15:44:59Z xlei quit (Ping timeout: 260 seconds) 2020-03-30T15:45:07Z keep-learning[m] quit (*.net *.split) 2020-03-30T15:45:07Z Gnuxie[m] quit (*.net *.split) 2020-03-30T15:45:08Z r1b quit (*.net *.split) 2020-03-30T15:45:09Z gf3_ quit (*.net *.split) 2020-03-30T15:45:09Z mats quit (*.net *.split) 2020-03-30T15:45:34Z keep-learning[m] joined #scheme 2020-03-30T15:45:34Z Gnuxie[m] joined #scheme 2020-03-30T15:45:34Z r1b joined #scheme 2020-03-30T15:45:34Z gf3_ joined #scheme 2020-03-30T15:45:34Z mats joined #scheme 2020-03-30T15:48:27Z keep-learning[m] quit (Ping timeout: 240 seconds) 2020-03-30T15:48:28Z Gnuxie[m] quit (Ping timeout: 240 seconds) 2020-03-30T15:48:33Z xlei joined #scheme 2020-03-30T15:48:39Z mbakke quit (Ping timeout: 246 seconds) 2020-03-30T15:48:43Z zaifir: srandon111: Also, by "SICP is mathematically-oriented" I meant that it tends to use examples from mathematics rather than "everyday" programming examples. 2020-03-30T15:48:56Z tohoyn joined #scheme 2020-03-30T15:48:57Z hansbauer[m] quit (Ping timeout: 252 seconds) 2020-03-30T15:49:14Z pablo[m] quit (Ping timeout: 256 seconds) 2020-03-30T15:49:14Z dieggsy quit (Ping timeout: 256 seconds) 2020-03-30T15:49:14Z siraben quit (Ping timeout: 256 seconds) 2020-03-30T15:49:17Z amnesia101101[m] quit (Ping timeout: 260 seconds) 2020-03-30T15:49:17Z amirouche[m] quit (Ping timeout: 260 seconds) 2020-03-30T15:49:19Z Ericson2314 quit (Ping timeout: 260 seconds) 2020-03-30T15:49:28Z wasa: kind of hard to do better if you only introduce numbers :D 2020-03-30T15:50:42Z zaifir: wasa: Indeed. Numbers are really the best way to start, though, IMHO. 2020-03-30T15:51:05Z badkins quit (Remote host closed the connection) 2020-03-30T15:51:12Z srandon111: i have to check if how to design programs has an analogous section on this part o 2020-03-30T15:51:43Z badkins joined #scheme 2020-03-30T15:52:39Z srandon111: zaifir, i also don't understand why the third version i better than the first 2020-03-30T15:52:48Z srandon111: it is longer and more difficult to read as of now for me 2020-03-30T15:53:16Z TCZ joined #scheme 2020-03-30T15:56:37Z badkins quit (Ping timeout: 264 seconds) 2020-03-30T15:57:29Z pjb: Yes, but it's more general and more reusable. 2020-03-30T15:57:30Z tohoyn quit (Quit: Lähdössä) 2020-03-30T15:57:42Z pjb: srandon111: but your objection is perfectly correct. 2020-03-30T15:58:02Z pjb: srandon111: abstraction is an acquired taste, most people cannot fathom it. 2020-03-30T15:58:35Z pjb: srandon111: therefore, we should develop development tools to aid the visualisation and transformation of code between abstract and instanciated forms. 2020-03-30T15:58:56Z pjb: srandon111: this is why lisp is interesting, because it's easy to write code manipulation and transformation tools in lisp! 2020-03-30T15:59:04Z zaifir: Category theory? 2020-03-30T15:59:24Z srandon111: pbj, how more reusable? can you make an example? 2020-03-30T15:59:47Z zaifir . o O ("develop development tools to aid the visualisation and transformation of code between abstract and instantiated forms.") 2020-03-30T15:59:54Z klovett quit (Ping timeout: 256 seconds) 2020-03-30T16:00:55Z srandon111: pjb, i rewrote the three versions https://pastebin.com/ba9JAknn 2020-03-30T16:01:02Z pjb: srandon111: you can reuse the fixed-point function to compute other function, such as cube root, log, etc. 2020-03-30T16:01:06Z srandon111: i can't understand how the third version is better than the first one 2020-03-30T16:02:44Z pjb: srandon111: but note that the fixed-point function here is not general enough: it depends on a global close-enuf? 2020-03-30T16:02:52Z klovett joined #scheme 2020-03-30T16:03:33Z pjb: srandon111: you shoul write a fixed-point HOF that doesn't expect the function f to return any specific type, and that uses a parameter function to compare the results of f and determine if it's close enough. 2020-03-30T16:06:19Z pjb: srandon111: your third version if fixed-point doesn't use it's local definitions tolerance and good-enuf?; you should rewrite it… 2020-03-30T16:07:12Z drakonis joined #scheme 2020-03-30T16:07:16Z badkins joined #scheme 2020-03-30T16:08:21Z TCZ quit (Quit: Leaving) 2020-03-30T16:08:51Z TCZ joined #scheme 2020-03-30T16:22:35Z srandon111: pjb, i don't know probably it's better if i go to study from HTDP 2020-03-30T16:22:48Z srandon111: since sicp at the moment seems hard 2020-03-30T16:22:55Z srandon111: i mean i got the ideas up to now... 2020-03-30T16:23:02Z srandon111: but still i am scared about what follows 2020-03-30T16:23:07Z srandon111: there are 20 lectures and i am at 3 2020-03-30T16:23:26Z pjb: There are different things, so you could try to continue watching them. 2020-03-30T16:23:44Z srandon111: also 2020-03-30T16:23:46Z turtleman joined #scheme 2020-03-30T16:24:00Z srandon111: the idea of returning functions and passing function is clear 2020-03-30T16:24:11Z srandon111: there are just some steps in his examples that i can't get 2020-03-30T16:24:31Z srandon111: sometimees he starts from an example that is difficulty 1 and goes to an example which is difficulty 10000 2020-03-30T16:24:39Z srandon111: like the recursion and tower of hanoi stuff 2020-03-30T16:25:05Z pjb: Can you move one tore from left to right _|_ | | ? 2020-03-30T16:25:59Z pjb: srandon111: the tower of hanoi stuff is so simple, it's a baby toy: https://www.amazon.fr/Holzsammlung-Tour-Bois-Hanoi-Anneaux/dp/B01AXRCU5W/ref=sr_1_4?__mk_fr_FR=ÅMÅŽÕÑ&dchild=1&keywords=hanoi+tower&qid=1585585551&sr=8-4 2020-03-30T16:26:21Z srandon111: pjb, i understood the specific example at the end... but it seemed like he wanted to trasmit a larger teaching 2020-03-30T16:26:39Z srandon111: like i don't have any idea about how to come up with a function like he did for a similar so complex scenario 2020-03-30T16:26:49Z srandon111: i also can't think about similar scenarios of the tower of hanoi 2020-03-30T16:28:30Z pjb: srandon111: try to print an infix expression. 2020-03-30T16:28:55Z pjb: (print-infix '(* (+ a b) (+ c d))) --> ((a+b)*(c+d)) 2020-03-30T16:29:10Z pjb: srandon111: you'll get a recursive function with exactly the same structure as the hanoi problem. 2020-03-30T16:29:55Z wasa is now known as wasamasa 2020-03-30T16:30:02Z TCZ quit (Ping timeout: 256 seconds) 2020-03-30T16:30:36Z zaifir: srandon111: You can always keep reading and come back to difficult parts later. I know I did. 2020-03-30T16:31:11Z srandon111: pjb, ok i will try 2020-03-30T16:35:25Z srandon111: pjb, ok no i have difficulties 2020-03-30T16:35:35Z srandon111: where can i practice these things starting from easier examples? 2020-03-30T16:35:46Z zaifir: srandon111: Which things? 2020-03-30T16:36:19Z srandon111: zaifir, recursive problems in general 2020-03-30T16:36:26Z srandon111: and ones like tower of hanoi 2020-03-30T16:36:28Z zaifir: srandon111: The Little Schemer. 2020-03-30T16:36:33Z zaifir: srandon111: It's awesome. 2020-03-30T16:40:29Z srandon111: zaifir, the one from 95 ? 2020-03-30T16:40:30Z TCZ joined #scheme 2020-03-30T16:40:40Z srandon111: zaifir, why do you think it is awesome? 2020-03-30T16:41:59Z zaifir: zaifir: It's simple but the ideas are very deep. It's fun to read, too. 2020-03-30T16:42:15Z zaifir: zaifir: The whole series is great. 2020-03-30T16:42:24Z srandon111: oko 2020-03-30T16:42:25Z zaifir: Oops, I seem to be talking to myself... 2020-03-30T16:42:34Z gravicappa quit (Ping timeout: 240 seconds) 2020-03-30T16:43:22Z gravicappa joined #scheme 2020-03-30T16:44:09Z srandon111: pjb, can you help me with that print-infix? 2020-03-30T16:44:22Z srandon111: like.. how should i reason about it ? 2020-03-30T16:44:30Z amirouche[m] joined #scheme 2020-03-30T16:44:50Z pjb: consider the base case, and then consider a small part of the tree (just a single node). 2020-03-30T16:45:22Z pjb: the base case, is to process the leaf of the tree, ie. the variables such a. 2020-03-30T16:45:55Z pjb: then a node is of the form: ( ). and are subtrees, so they can be processed recursively. 2020-03-30T16:45:57Z srandon111: pbj i know about the basic recursion 2020-03-30T16:46:21Z srandon111: i mean that i should think in terms of base case and single case 2020-03-30T16:47:02Z srandon111: pjb, well no... i could havee (operation 1 2 3 4 5 6 7) 2020-03-30T16:47:08Z srandon111: not only left and right 2020-03-30T16:47:55Z srandon111: can't understand what is the base case here... it should be when i finished all the closing parenthesis 2020-03-30T16:47:56Z zaifir: Then you'd be recursing on rose trees rather than binary trees. 2020-03-30T16:48:00Z pjb: Then you will have a loop. But assume we transform it into a binary tree -> (op 1 (op 2 (op 3 (op 4 (op 5 (op 6 7)))))) 2020-03-30T16:49:13Z srandon111: yes in this case i can't identify the basae case 2020-03-30T16:49:22Z srandon111: should be when all closing parenthesis are closed 2020-03-30T16:49:35Z pjb: the base case is when you print 1 or a. 2020-03-30T16:49:42Z pjb: ie. a node that doesn't have subnodes. 2020-03-30T16:49:46Z mroh_ is now known as mroh 2020-03-30T16:49:47Z pjb: what is called a leaf. 2020-03-30T16:51:49Z ArthurStrong joined #scheme 2020-03-30T16:52:09Z srandon111: pjb, ok but how do i write this down? =( 2020-03-30T16:53:14Z pjb: srandon111: you use a functional abstraction for the tree. (leaf? node) -> boolean (left node) -> node (right node) -> node (operation node) -> symbol 2020-03-30T16:53:35Z Ericson2314 joined #scheme 2020-03-30T16:53:35Z keep-learning[m] joined #scheme 2020-03-30T16:53:36Z amnesic[m] joined #scheme 2020-03-30T16:53:36Z siraben joined #scheme 2020-03-30T16:53:36Z hansbauer[m] joined #scheme 2020-03-30T16:53:36Z Gnuxie[m] joined #scheme 2020-03-30T16:53:36Z mbakke joined #scheme 2020-03-30T16:53:36Z pablo[m] joined #scheme 2020-03-30T16:53:36Z dieggsy joined #scheme 2020-03-30T16:55:56Z tohoyn joined #scheme 2020-03-30T16:59:10Z redeemed quit (Quit: q) 2020-03-30T16:59:41Z nly joined #scheme 2020-03-30T17:00:08Z pjb: srandon111: https://termbin.com/azft 2020-03-30T17:01:09Z srandon111: thanks pjb i will save that and study 2020-03-30T17:01:40Z pjb: srandon111: you may also have a look at http://groups.google.com/group/comp.lang.lisp/msg/0c66e597e08be90d and http://groups.google.com/group/comp.lang.lisp/msg/40efa5254dbfac4f 2020-03-30T17:02:48Z srandon111: ok so pjb this is clear to me now that it is a problem very similar to hanoi tower... but what are in general problems which can be reduced to this? 2020-03-30T17:02:56Z srandon111: i mean what's the high level pattern here? 2020-03-30T17:03:16Z srandon111: every problem that can be solved by a recursive function which calls itself in two points? 2020-03-30T17:03:37Z srandon111: am trying to understand the class of problems these pattern is solving and also what's the precise pattern 2020-03-30T17:04:10Z pjb: srandon111: in general, the code structure follows the data structure. So when you have trees, you will have recursive code. 2020-03-30T17:04:27Z pjb: srandon111: you can also have recursive code to process graphs or other data structures. 2020-03-30T17:05:20Z srandon111: pjb ok thanks i understand.. so if i have an indefinite number of operands i can still treat it like a tree or not? 2020-03-30T17:05:57Z pjb: srandon111: yes. If you have nodes that are n-ary instead of binary nodes, you will just have to have a loop in walk-tree to process each child node, instead of just processing left and right. 2020-03-30T17:06:26Z tohoyn: I recommend reading https://dl.acm.org/doi/pdf/10.1145/165507.165514 2020-03-30T17:07:17Z badkins quit (Remote host closed the connection) 2020-03-30T17:07:50Z badkins joined #scheme 2020-03-30T17:10:10Z whiteline quit (Quit: Leaving) 2020-03-30T17:12:25Z whiteline joined #scheme 2020-03-30T17:12:26Z badkins quit (Ping timeout: 240 seconds) 2020-03-30T17:18:36Z tohoyn quit (Quit: Lähdössä) 2020-03-30T17:19:30Z xkapastel is now known as Guest45017 2020-03-30T17:19:56Z jobol quit (Quit: Leaving) 2020-03-30T17:24:22Z Guest45017 quit 2020-03-30T17:25:06Z xkapastel_ joined #scheme 2020-03-30T17:25:17Z badkins joined #scheme 2020-03-30T17:25:42Z luni quit (Remote host closed the connection) 2020-03-30T17:26:23Z whiteline quit (Quit: Leaving) 2020-03-30T17:26:30Z xkapastel_ is now known as xkapastel 2020-03-30T17:33:23Z dan64 joined #scheme 2020-03-30T17:35:47Z dan64- quit (Ping timeout: 246 seconds) 2020-03-30T17:36:15Z whiteline joined #scheme 2020-03-30T17:39:11Z mherstin quit (Quit: WeeChat 2.2) 2020-03-30T17:43:17Z TCZ quit (Quit: Leaving) 2020-03-30T18:02:18Z notzmv joined #scheme 2020-03-30T18:12:28Z srandon111: thanks toho 2020-03-30T18:26:43Z badkins quit (Remote host closed the connection) 2020-03-30T18:27:25Z badkins joined #scheme 2020-03-30T18:32:20Z badkins quit (Ping timeout: 256 seconds) 2020-03-30T18:33:47Z hugh_marera joined #scheme 2020-03-30T18:35:58Z skapata joined #scheme 2020-03-30T18:45:16Z badkins joined #scheme 2020-03-30T18:45:27Z luni joined #scheme 2020-03-30T18:51:08Z gioyik joined #scheme 2020-03-30T19:01:52Z ArthurStrong quit (Quit: leaving) 2020-03-30T19:02:12Z ArthurStrong joined #scheme 2020-03-30T19:02:12Z ArthurStrong quit (Client Quit) 2020-03-30T19:03:03Z yurichev joined #scheme 2020-03-30T19:25:12Z daviid joined #scheme 2020-03-30T19:28:54Z gioyik quit (Ping timeout: 240 seconds) 2020-03-30T19:49:27Z badkins quit (Remote host closed the connection) 2020-03-30T19:50:02Z badkins joined #scheme 2020-03-30T19:50:16Z terpri quit (Quit: Leaving) 2020-03-30T19:54:35Z badkins quit (Ping timeout: 250 seconds) 2020-03-30T19:55:56Z badkins joined #scheme 2020-03-30T19:58:46Z klovett_ joined #scheme 2020-03-30T20:02:37Z klovett quit (Ping timeout: 264 seconds) 2020-03-30T20:03:38Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-30T20:16:37Z pilne joined #scheme 2020-03-30T20:23:33Z gioyik joined #scheme 2020-03-30T20:24:08Z luni quit (Remote host closed the connection) 2020-03-30T20:29:05Z gravicappa quit (Ping timeout: 252 seconds) 2020-03-30T20:30:34Z manualcrank quit (Ping timeout: 268 seconds) 2020-03-30T20:30:53Z ggole quit (Quit: Leaving) 2020-03-30T20:33:22Z ohama quit (Ping timeout: 260 seconds) 2020-03-30T20:37:13Z manualcrank joined #scheme 2020-03-30T20:46:34Z ohama joined #scheme 2020-03-30T20:47:09Z pablo[m] quit (Quit: Idle for 30+ days) 2020-03-30T20:49:36Z madagest quit (Remote host closed the connection) 2020-03-30T20:49:58Z madage joined #scheme 2020-03-30T20:57:08Z TCZ joined #scheme 2020-03-30T20:59:57Z hidetora quit (Quit: leaving) 2020-03-30T21:13:02Z hugh_marera quit (Quit: hugh_marera) 2020-03-30T21:18:04Z seepel joined #scheme 2020-03-30T21:39:43Z yurichev quit (Quit: leaving) 2020-03-30T21:44:33Z ZaheerIsRight joined #scheme 2020-03-30T21:49:51Z ZaheerIsRight quit (Remote host closed the connection) 2020-03-30T21:58:13Z TCZ quit (Quit: Leaving) 2020-03-30T22:07:45Z badkins quit (Remote host closed the connection) 2020-03-30T22:08:19Z badkins joined #scheme 2020-03-30T22:13:20Z badkins quit (Ping timeout: 256 seconds) 2020-03-30T22:13:29Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-30T22:15:19Z aeth: Hmm, if I implement R6RS, I wonder how much more I would have to add to have a fake-chez extension to R6RS... 2020-03-30T22:15:29Z aeth: Because then I could have Racket-on-Chez-on-Airship-on-SBCL 2020-03-30T22:15:47Z badkins joined #scheme 2020-03-30T22:19:39Z terpri joined #scheme 2020-03-30T22:20:22Z pjb: aeth: aim for r7rs instead! 2020-03-30T22:21:01Z aeth: pjb: I am, the only reason to implement r6rs instead of r7rs-large would be to port Racket-on-Chez. 2020-03-30T22:23:37Z aeth: pjb: This would allow for e.g. Arc-on-Racket-on-Chez-on-Airship-on-SBCL. https://github.com/arclanguage/anarki/ 2020-03-30T22:23:55Z pjb: ok 2020-03-30T22:25:31Z aeth: pjb: Ideally, this would also encourage the Emacs-on-SBCL port to move forward, which afaik is just an investigation. https://sourceforge.net/p/sbcl/mailman/message/36659403/ 2020-03-30T22:26:01Z aeth: Being able to script GNU Emacs in Arc-on-Racket-on-Chez-on-Airship-on-SBCL is the feature everyone needs. 2020-03-30T22:27:55Z pjb: aeth: I don't understand why you have to make it sbcl specific 🤮 2020-03-30T22:29:37Z seepel quit (Ping timeout: 264 seconds) 2020-03-30T22:31:19Z aeth: pjb: Because there is no equivalent to sb-unicode as a portability library. CCL should handle most but not all of the equivalents directly in their CL:FOO where SBCL does not, for performance. Not everything has a CL-package equivalent, e.g. there is no WHITESPACEP 2020-03-30T22:31:48Z aeth: pjb: It is literally 100% just a blocker on there being no portability library that serves as a common interface over sb-unicode and similar functionality in Unicode-capable implementations, that simple. 2020-03-30T22:32:11Z pjb: ok 2020-03-30T22:32:50Z aeth: pjb: So just port the missing parts of sb-unicode over to CCL, and call it trivial-unicode, and it should be 100% functional on both SBCL and CCL. ECL might have additional blockers. It should be functional except for some char/string edge cases no matter what. 2020-03-30T22:33:13Z xkapastel joined #scheme 2020-03-30T22:33:33Z aeth: pjb: And this isn't Unicode-as-in-Babel, this is Unicode as in things like WHITESPACEP and CASEFOLD. 2020-03-30T22:33:48Z aeth: (or FOLDCASE... Scheme calls it foldcase, sb-unicode calls it casefold, iirc) 2020-03-30T22:36:26Z aeth: For all I know these particular functionalities are already in CCL as something else, in which case trivial-unicode is more feasible 2020-03-30T22:37:10Z aeth: pjb: The good news is that the float functionality in the original cl-scheme draft from 2016 was also SBCL-specific, but in 2018 Shinmera came up with float-features, which eliminated that. https://github.com/Shinmera/float-features 2020-03-30T23:02:05Z badkins quit 2020-03-30T23:05:56Z seepel joined #scheme 2020-03-30T23:27:34Z ArthurStrong joined #scheme 2020-03-30T23:28:19Z TCZ joined #scheme 2020-03-30T23:30:30Z X-Scale quit (Ping timeout: 256 seconds) 2020-03-30T23:31:40Z X-Scale` joined #scheme 2020-03-30T23:32:34Z X-Scale` is now known as X-Scale 2020-03-30T23:32:52Z xelxebar_ quit (Remote host closed the connection) 2020-03-30T23:34:32Z xelxebar joined #scheme 2020-03-30T23:56:37Z whiteline quit (Remote host closed the connection) 2020-03-30T23:57:15Z whiteline joined #scheme 2020-03-30T23:59:42Z seepel quit (Ping timeout: 256 seconds) 2020-03-31T00:17:02Z klovett_ quit (Remote host closed the connection) 2020-03-31T00:17:38Z klovett joined #scheme 2020-03-31T00:17:46Z twb joined #scheme 2020-03-31T00:18:11Z twb: that de Saint-Expurey quote... is it at the front of RnRS, or SICP? 2020-03-31T00:18:29Z twb: I'm trying to find a URL I can wave under the nose of a netadmin 2020-03-31T00:19:02Z Riastradh: RnRS 2020-03-31T00:19:08Z Riastradh: https://schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-3.html 2020-03-31T00:21:50Z twb: OK, I must be blind, because I can't see the quote there :-( 2020-03-31T00:22:03Z Riastradh: oh wait 2020-03-31T00:24:05Z Riastradh: Which quote was it? 2020-03-31T00:24:33Z twb: I assume the original is in French, but it's something like "perfection is attained when [...] there is nothing left to take away" 2020-03-31T00:25:17Z twb: (cf. lex parsimonae; KISS principle; YAGNI) 2020-03-31T00:26:12Z twb: https://en.wikiquote.org/wiki/Simplicity has French and English translations, they might not exactly match what's in the scheme-related text I'm remembering 2020-03-31T00:26:41Z twb: Hrm, when I try just searching over schemers.org I get SRFI 41 2020-03-31T00:27:15Z aeth: well, you can take away a lot more than rnrs takes away... http://paulgraham.com/rootsoflisp.html 2020-03-31T00:27:16Z gwatt: This is the opening line of the rnrs intro: 2020-03-31T00:27:19Z gwatt: > Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. 2020-03-31T00:27:25Z Riastradh: I think you and I both had a quotation hash collision with the first sentence of the link I gave you. 2020-03-31T00:27:50Z Riastradh: Similar sentiment, phrased differently. 2020-03-31T00:27:52Z twb: gwatt: I could've sworn there was an explicit quote. 2020-03-31T00:28:11Z twb: gwatt: maybe I'm mis-remembering something Perlis wrote... 2020-03-31T00:28:49Z gwatt: twb: I have no idea, but the sentiment is there. 2020-03-31T00:29:32Z Tirifto quit (Quit: Leaving.) 2020-03-31T00:29:34Z twb: How frustrating 2020-03-31T00:34:29Z zaifir: You all need more buckets. 2020-03-31T00:41:01Z aeth: gwatt: eh... 2020-03-31T00:41:39Z aeth: gwatt: speaking as a Scheme implementor, I am literally piling feature on top of feature, that's how you implement it :-p 2020-03-31T00:49:57Z aeth: gwatt: SRFIs are also piling feature on top of feature 2020-03-31T00:51:50Z pilne: that's how smalltalk and lisps are built! build on the reserved words and make some amazing new things. 2020-03-31T00:52:51Z aeth: pilne: but it's not like Scheme was built to be primitives to build up things as user libraries... Almost all of the macros are "derived expressions" that could easily be library code of syntax-rules and are in fact provided in the appendix. 2020-03-31T00:53:05Z aeth: pilne: While some fairly useful primitives are missing, like hash tables. 2020-03-31T00:58:14Z Riastradh: (exactly what a `hash table' should be is an extremely complicated subject that does not admit anything resembling a single obviously right answer) 2020-03-31T00:58:23Z pilne: ^ 2020-03-31T01:05:10Z ahungry joined #scheme 2020-03-31T01:05:11Z ngz quit (Ping timeout: 246 seconds) 2020-03-31T01:06:33Z lockywolf joined #scheme 2020-03-31T01:07:08Z jcowan: If you want to avoid piling feature on feature, see the library of https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/BottomScheme.md 2020-03-31T01:07:12Z lockywolf quit (Max SendQ exceeded) 2020-03-31T01:07:38Z seepel joined #scheme 2020-03-31T01:07:44Z lockywolf joined #scheme 2020-03-31T01:08:46Z aeth: jcowan: yes 2020-03-31T01:09:12Z jcowan: (the language features make it a subScheme) 2020-03-31T01:09:16Z aeth: that's the sort of thing I'd expect 2020-03-31T01:11:36Z aeth: I'm not sure about the lack of a macro system, though 2020-03-31T01:11:41Z aeth: you'd probably want something like syntax-case 2020-03-31T01:12:19Z aeth: What I was talking about was more along the lines of the minimum language necessary to implement r7rs. (Which, of course, isn't what I'm doing since I have so many primitives.) 2020-03-31T01:23:22Z TCZ quit (Quit: Leaving) 2020-03-31T01:23:46Z lockywolf_ joined #scheme 2020-03-31T01:24:14Z aeth: jcowan: I probably asked this years ago, but what license is the code in section 7.3 of r7rs.pdf under? 2020-03-31T01:26:34Z lockywolf quit (Ping timeout: 256 seconds) 2020-03-31T01:36:57Z jcowan: Permissive, the same as the whole document. 2020-03-31T01:38:04Z jcowan: We intend this report to belong to the entire Scheme community, and so we grant permission to copy it in whole or in part without fee. In particular, we encourage implementers of Scheme to use this report as a starting point for manuals and other documentation, modifying it as necessary. 2020-03-31T01:41:43Z lockywolf__ joined #scheme 2020-03-31T01:44:39Z lockywolf_ quit (Ping timeout: 260 seconds) 2020-03-31T01:56:06Z lritter quit (Ping timeout: 240 seconds) 2020-03-31T01:57:00Z lritter joined #scheme 2020-03-31T01:58:07Z torbo joined #scheme 2020-03-31T01:59:29Z foof joined #scheme 2020-03-31T02:02:15Z aeth: My favorite part of r7rs.pdf is ))))))))))))) 2020-03-31T02:04:22Z seepel quit (Ping timeout: 256 seconds) 2020-03-31T02:13:26Z stux|wor- joined #scheme 2020-03-31T02:13:52Z lockywolf_ joined #scheme 2020-03-31T02:14:31Z stux|work quit (Ping timeout: 260 seconds) 2020-03-31T02:16:14Z lockywolf__ quit (Ping timeout: 240 seconds) 2020-03-31T02:18:02Z foof: in c-like languages you get }}}}}}}}}}}}, but spread over multiple lines, and sometimes with different braces like )])]}}}}})}}} 2020-03-31T02:19:00Z Riastradh: loose toenail clippings 2020-03-31T02:19:39Z foof: although those languages tend to be more imperative and require more bookkeeping, with e.g. returns between braces 2020-03-31T02:21:06Z Riastradh: hello i would like to return this loose toenail clipping it is scratched 2020-03-31T02:22:34Z foof: in python you just get lines beginning with a required exactly 24 spaces (no tabs) 2020-03-31T02:23:51Z aeth: foof: I've only ever gotten thnat in Lua, but throw in about 5 "end"s randomly, too. 2020-03-31T02:24:00Z aeth: s/thnat/that/ 2020-03-31T02:24:36Z foof: in all cases a potential sign of insufficient factoring, but sometimes it's more practical to just nest things 2020-03-31T02:25:51Z Riastradh: moar nfs and ecm for better factoring!! 2020-03-31T02:26:03Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-31T02:27:11Z lritter quit (Quit: Leaving) 2020-03-31T02:27:56Z titanbiscuit joined #scheme 2020-03-31T02:33:18Z lockywolf_ quit (Remote host closed the connection) 2020-03-31T02:33:55Z lockywolf_ joined #scheme 2020-03-31T02:34:47Z lockywolf_ quit (Remote host closed the connection) 2020-03-31T02:35:16Z lockywolf_ joined #scheme 2020-03-31T02:43:10Z seepel joined #scheme 2020-03-31T02:43:25Z nckx quit (Ping timeout: 264 seconds) 2020-03-31T02:44:04Z nckx joined #scheme 2020-03-31T02:48:49Z nckx quit (Client Quit) 2020-03-31T02:49:09Z nckx joined #scheme 2020-03-31T02:49:45Z nckx quit (Remote host closed the connection) 2020-03-31T02:50:05Z nckx joined #scheme 2020-03-31T02:51:02Z foof: from the linux source, arch/mips/cavium-octeon/octeon-usb.c:133: ;))))))))))))))))))))))))))))))))) 2020-03-31T02:51:31Z seepel quit (Ping timeout: 265 seconds) 2020-03-31T02:53:22Z nckx quit (Remote host closed the connection) 2020-03-31T02:53:48Z foof: lib/crypto/curve25519-fiat32.c is more impressive: }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} 2020-03-31T02:55:14Z Riastradh: ...now that one is just silly; there's no real need for those braces. 2020-03-31T02:58:30Z klovett quit (Remote host closed the connection) 2020-03-31T02:58:48Z klovett joined #scheme 2020-03-31T03:12:15Z jcowan: Riastradh: This from the person who writes fully parenthesized C, disregarding all operator priorities? 2020-03-31T03:13:12Z lockywolf joined #scheme 2020-03-31T03:13:25Z lockywolf_ quit (Ping timeout: 264 seconds) 2020-03-31T03:13:57Z Riastradh: Heh. I haven't done that in a while (except in MIT Scheme where it is the local style). In this case, even if you reject C99 declarations within a block, you could just as well have declared the variables at the top of the block. 2020-03-31T03:14:42Z jcowan nods 2020-03-31T03:15:19Z lockywolf_ joined #scheme 2020-03-31T03:15:24Z lockywolf quit (Read error: Connection reset by peer) 2020-03-31T03:16:25Z gioyik_ joined #scheme 2020-03-31T03:16:47Z lockywolf_ quit (Max SendQ exceeded) 2020-03-31T03:17:17Z lockywolf_ joined #scheme 2020-03-31T03:18:27Z gioyik quit (Ping timeout: 260 seconds) 2020-03-31T03:19:44Z lockywolf__ joined #scheme 2020-03-31T03:20:31Z aeth: I write in nearly-fully parenthesized C/etc. 2020-03-31T03:20:44Z aeth: I'll drop the top level, and maybe a few other things 2020-03-31T03:21:17Z aeth: "(x * y) + z" looks better than "x * y + z" even though I doubt people will forget the precedence there 2020-03-31T03:21:40Z Riastradh: x*y + z looks better 2020-03-31T03:21:50Z aeth: not to me 2020-03-31T03:21:51Z Riastradh: (for an audience familiar with mathematical conventions) 2020-03-31T03:22:01Z aeth: the mathematical convention would be xy + z 2020-03-31T03:22:06Z aeth: but now you need a strong AI in the compiler 2020-03-31T03:22:23Z aeth: and maybe it's in a bad mood one day and wants your compilation to fail :-) 2020-03-31T03:22:40Z xkapastel quit (Quit: Connection closed for inactivity) 2020-03-31T03:22:44Z lockywolf_ quit (Ping timeout: 256 seconds) 2020-03-31T03:23:03Z aeth: I'd rather do "x y + z" than "x*y + z" because "x y + z" looks more like "x * y + z" and significant internal whitespace isn't that bad of a thing 2020-03-31T03:23:18Z aeth: I'm sure some languages out there in the vast space of programming languages permit that 2020-03-31T03:23:51Z aeth: sorry, because "x y + z" looks more like "xy + z", i.e. actual math, but I like multiletter variables in programming too much 2020-03-31T03:24:09Z lockywolf_ joined #scheme 2020-03-31T03:24:21Z zaifir: Mathematical notation isn't a wonderful model if you want to be unambiguous. 2020-03-31T03:24:45Z aeth: nah, just implement it as a series of non-global macros. 2020-03-31T03:24:50Z lockywolf_ quit (Remote host closed the connection) 2020-03-31T03:25:02Z edgar-rft quit (Quit: Leaving) 2020-03-31T03:25:13Z Riastradh: Like all notations it has strengths and limitations. 2020-03-31T03:25:16Z zaifir: It's more like a natural language with lots of weird historical conventions. 2020-03-31T03:25:43Z aeth: Math is good (or at least, ok... the variable names can be cryptic) when you write it. It's a very two-dimensional language and every way to type it has severe limitations. 2020-03-31T03:26:04Z aeth: In a sense, Scheme's a bit more like regular math because you can put your /s on two lines 2020-03-31T03:26:08Z lockywolf__ quit (Ping timeout: 256 seconds) 2020-03-31T03:26:27Z aeth: i.e. (/ (+ x y z)\n (+ u v w)) 2020-03-31T03:26:58Z aeth: sure, you can do that in some infix languages, too, but it becomes a lot less obvious that it's division 2020-03-31T03:27:13Z aeth: (And you probably won't get a fraction as the result in those languages, either) 2020-03-31T03:28:55Z zaifir: And there are no mysterious operator precedence rules to keep track of. 2020-03-31T03:29:48Z aeth: except quasiquote 2020-03-31T03:29:55Z aeth: nest a bunch of quasiquote and unquote. have fun. 2020-03-31T03:30:06Z aeth: I wouldn't be surprised if Scheme handles this differently than CL, too. 2020-03-31T03:31:23Z turtleman quit (Remote host closed the connection) 2020-03-31T03:31:58Z nckx joined #scheme 2020-03-31T03:32:13Z aeth: in a sense, ` , ,@ and maybe . are the only real "typical" syntax a traditional Lisp has 2020-03-31T03:35:06Z seepel joined #scheme 2020-03-31T03:44:11Z seepel quit (Remote host closed the connection) 2020-03-31T03:44:28Z gravicappa joined #scheme 2020-03-31T03:44:35Z seepel joined #scheme 2020-03-31T03:49:52Z pilne quit (Quit: REALITY.SYS Corrupted: Re-boot universe? (Y/N/Q)) 2020-03-31T03:59:05Z ArthurStrong quit (Quit: leaving) 2020-03-31T04:29:22Z seepel quit (Remote host closed the connection) 2020-03-31T04:29:49Z seepel joined #scheme 2020-03-31T04:33:59Z gravicappa quit (Ping timeout: 265 seconds) 2020-03-31T04:34:11Z mdhughes: obvs the correct form is `x y * z +` 2020-03-31T04:34:40Z mdhughes: Scheme is just backwards from correct, at least it's not insane like infix. 2020-03-31T04:50:07Z drakonis quit (Quit: WeeChat 2.7.1) 2020-03-31T04:56:13Z aeth: mdhughes: Now, (rpn x y *) is just (defmacro rpn (&rest args) (reverse args)) in CL which is maybe (define-macro (rpn . args) (reverse args)) in Scheme, but that's not portable Scheme. What's the idiomatic Scheme way to do this? Of course, you could also recursively reverse and e.g. (rpn (x y *) z +) or (rpn ((x y *) z +)) 2020-03-31T04:57:34Z aeth: sure, it's parenthesized so it's not quite "true" binary RPN, but it's more flexible this way anyway 2020-03-31T04:58:36Z ahungry quit (Remote host closed the connection) 2020-03-31T04:59:52Z torbo quit (Remote host closed the connection) 2020-03-31T05:11:15Z mdhughes: But you don't need parens in real RPN, the operations are clearly defined against the stack. 2020-03-31T05:15:03Z mdhughes: Interestingly, LOGO does forward-PN: print sum z product x y 2020-03-31T05:15:50Z mdhughes: The LOGO I learned with used only prefix, but UCB uses + - * / for infix. :( 2020-03-31T05:17:04Z aeth: well, Racket does have a true RPN mode, but I'm wondering if Racket's syntax-case is powerful enough to reverse args 2020-03-31T05:17:11Z aeth: I can't find an escape hatch there. 2020-03-31T05:17:20Z aeth: I thought maybe it would be #` and #, but no 2020-03-31T05:17:50Z aeth: I guess I spent 30 minutes on it. 2020-03-31T05:17:51Z mdhughes: I would actually just build it as a reader. 2020-03-31T05:18:18Z Riastradh: aeth: (define-syntax #%app (syntax-rules () ((#%app a ... f) (real-#%app f a ...)))) ; import #%app as real-#%app or whatever 2020-03-31T05:19:34Z seepel quit (Ping timeout: 240 seconds) 2020-03-31T05:20:24Z aeth: Riastradh: ah, ... would have been my next guess, and really my last chance 2020-03-31T05:20:57Z aeth: Riastradh: Is that for (rpn x y *) or (rpn (x y *) z +) or (rpn ((x y *) z +)) ? 2020-03-31T05:21:07Z aeth: I'm guessing just the first 2020-03-31T05:21:10Z Riastradh: ((x y *) z +) 2020-03-31T05:21:13Z aeth: oh 2020-03-31T05:21:26Z aeth: yeah, once the ...s get involved all hope is lost :-p 2020-03-31T05:22:14Z aeth: Riastradh: wait, so you overrode apply? Is that's what's going on? 2020-03-31T05:22:22Z seepel joined #scheme 2020-03-31T05:22:37Z Riastradh: Nothing magic about ...; I encourage you to play around with macros to get some facility with the ... notation, which is pretty simple: it just allows any number of repetitions of the preceding pattern. 2020-03-31T05:22:51Z Riastradh: aeth: overrode application notation, not the apply procedure 2020-03-31T05:24:14Z aeth: well, I assumed the low-level basis of the apply procedure 2020-03-31T05:24:22Z Riastradh: syntax, not procedure 2020-03-31T05:24:29Z aeth: which is how you get one level of recursion and no outer wrapper to do ((x y *) z +) 2020-03-31T05:24:35Z aeth: I guess 2020-03-31T05:24:44Z Riastradh: In Racket, when f is not a macro, (f x y z) is as if you wrote (#%app f x y z). 2020-03-31T05:24:53Z Riastradh: (not a special operator, anyway -- macro, primitive syntax, whatever) 2020-03-31T05:25:19Z aeth: ah 2020-03-31T05:25:24Z aeth: so basically funcall :-p 2020-03-31T05:25:27Z aeth: but for Lisp-1 2020-03-31T05:25:42Z Riastradh: No, #%app is a special operator itself, not a procedure. 2020-03-31T05:25:52Z Riastradh: Can't do, e.g., (apply #%app (list f x y z)). 2020-03-31T05:26:06Z aeth: heh 2020-03-31T05:27:06Z aeth: Riastradh: So what you're saying is that I should change my Lisp-1-in-a-Lisp-2 strategy to call the funcall #%app and expose it to Scheme and then I basically have Racket but better because now it's a procedure(ish) 2020-03-31T05:27:21Z gravicappa joined #scheme 2020-03-31T05:27:32Z aeth: well, %app 2020-03-31T05:28:00Z Riastradh: umm...I think all I'm saying is that the above is how you might make ((x y *) z +) work in Racket. 2020-03-31T05:28:24Z aeth: too late, you gave me the idea 2020-03-31T05:31:30Z Riastradh: Really, what I'm saying is that you should do is find a nice vintage HP calculator and play with Reverse Polish Lisp on that! 2020-03-31T05:31:56Z Riastradh: (emulators don't count; the tactile sensation of the buttons is an integral part of the experience) 2020-03-31T05:32:45Z aeth: eh 2020-03-31T05:33:01Z aeth: I had an HP RPN non-graphing calculator but I misplaced it or lost it or lent it out and never got it back or something 2020-03-31T05:33:04Z aeth: maybe one day I'll find it 2020-03-31T05:33:07Z aeth: I found the manual the other day 2020-03-31T05:33:21Z aeth: I do use the HP RPN graphing emulator on my phone 2020-03-31T05:33:24Z aeth: Droid48 2020-03-31T05:33:26Z Riastradh: BUTTONS 2020-03-31T05:33:59Z hbroadbent joined #scheme 2020-03-31T05:34:05Z mdhughes: I use PCalc on phone, dc on desktop. 2020-03-31T05:34:11Z aeth: and, fwiw I sort of understand ..., but I was confused with how you did so much with it because I didn't know about #%app 2020-03-31T05:37:36Z seepel quit (Ping timeout: 256 seconds) 2020-03-31T05:40:33Z jao- quit (Ping timeout: 252 seconds) 2020-03-31T05:45:18Z gravicappa quit (Ping timeout: 256 seconds) 2020-03-31T06:09:42Z twb quit (Read error: Connection reset by peer) 2020-03-31T06:17:42Z gravicappa joined #scheme 2020-03-31T06:28:37Z jobol joined #scheme 2020-03-31T06:39:17Z hbroadbent quit (Remote host closed the connection) 2020-03-31T06:39:35Z Khisanth quit (Ping timeout: 252 seconds) 2020-03-31T06:53:21Z Khisanth joined #scheme 2020-03-31T07:04:49Z skapata quit (Quit: Ĝis!) 2020-03-31T07:26:30Z edgar-rft joined #scheme 2020-03-31T07:36:52Z ozzloy quit (Remote host closed the connection) 2020-03-31T07:50:33Z civodul joined #scheme 2020-03-31T08:02:59Z CyDefect joined #scheme 2020-03-31T09:45:48Z gioyik_ quit (Ping timeout: 256 seconds) 2020-03-31T10:00:18Z Zenton quit (Remote host closed the connection) 2020-03-31T10:10:46Z Zenton joined #scheme 2020-03-31T10:18:33Z whiteline quit (Read error: Connection reset by peer) 2020-03-31T10:18:38Z whiteline_ joined #scheme 2020-03-31T10:24:24Z snits quit (Ping timeout: 265 seconds) 2020-03-31T10:26:03Z snits joined #scheme 2020-03-31T10:33:14Z TCZ joined #scheme 2020-03-31T10:37:56Z snits quit (Ping timeout: 265 seconds) 2020-03-31T10:46:50Z snits joined #scheme 2020-03-31T10:52:34Z Khisanth quit (Ping timeout: 240 seconds) 2020-03-31T11:04:15Z hugh_marera joined #scheme 2020-03-31T11:19:04Z mario-go` quit (Read error: Connection reset by peer) 2020-03-31T11:20:58Z mario-goulart joined #scheme 2020-03-31T11:26:50Z amirouche[m] quit (Changing host) 2020-03-31T11:26:50Z amirouche[m] joined #scheme 2020-03-31T11:26:50Z amirouche[m] quit (Changing host) 2020-03-31T11:26:50Z amirouche[m] joined #scheme 2020-03-31T11:29:51Z TCZ quit (Quit: Leaving) 2020-03-31T11:32:10Z Khisanth joined #scheme 2020-03-31T11:34:24Z CyDefect quit (Remote host closed the connection) 2020-03-31T11:34:41Z CyDefect joined #scheme 2020-03-31T11:46:56Z whiteline_ quit (Remote host closed the connection) 2020-03-31T11:48:39Z whiteline joined #scheme 2020-03-31T11:51:56Z webshinra quit (Remote host closed the connection) 2020-03-31T11:54:26Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-31T11:55:00Z lavaflow quit (Ping timeout: 256 seconds) 2020-03-31T11:59:37Z snits quit (Ping timeout: 265 seconds) 2020-03-31T12:08:08Z snits joined #scheme 2020-03-31T12:14:04Z ggole joined #scheme 2020-03-31T12:16:59Z Naptra joined #scheme 2020-03-31T12:18:47Z stux|wor- quit (Quit: Aloha!) 2020-03-31T12:19:39Z stux|work joined #scheme 2020-03-31T12:21:09Z xkapastel joined #scheme 2020-03-31T12:48:09Z luni joined #scheme 2020-03-31T13:03:47Z srandon111 quit (Quit: leaving) 2020-03-31T13:05:06Z lritter joined #scheme 2020-03-31T13:09:09Z klovett quit 2020-03-31T13:10:30Z daviid` joined #scheme 2020-03-31T13:10:49Z epony quit (Quit: reconf) 2020-03-31T13:10:55Z klovett joined #scheme 2020-03-31T13:12:13Z daviid quit (Ping timeout: 264 seconds) 2020-03-31T13:19:30Z epony joined #scheme 2020-03-31T13:20:33Z skapata joined #scheme 2020-03-31T13:22:00Z webshinra joined #scheme 2020-03-31T13:23:57Z turtleman joined #scheme 2020-03-31T13:24:59Z snits quit (Ping timeout: 250 seconds) 2020-03-31T13:31:13Z ngz joined #scheme 2020-03-31T13:33:54Z snits joined #scheme 2020-03-31T13:36:41Z jcowan: aeth: Function call and variable reference count as syntaxes, and Racket makes them available with syntax keywords, though of course also with the normal keyword-free syntax. Once you have syntax keywords, you can shadow them locally just like any other syntax keywords. 2020-03-31T13:46:47Z jao joined #scheme 2020-03-31T14:02:02Z titanbiscuit quit (Quit: ZNC 1.7.4 - https://znc.in) 2020-03-31T14:03:20Z titanbiscuit joined #scheme 2020-03-31T14:14:51Z TCZ joined #scheme 2020-03-31T14:16:17Z whiteline_ joined #scheme 2020-03-31T14:18:38Z whiteline quit (Read error: Connection reset by peer) 2020-03-31T14:21:12Z daviid` quit (Ping timeout: 256 seconds) 2020-03-31T14:22:52Z Khisanth joined #scheme 2020-03-31T14:32:31Z lucasb joined #scheme 2020-03-31T14:34:25Z whiteline_ quit (Quit: Leaving) 2020-03-31T14:39:24Z whiteline joined #scheme 2020-03-31T14:49:05Z aos quit (Quit: leaving) 2020-03-31T14:49:14Z aos joined #scheme 2020-03-31T14:53:33Z johncob_ quit (Quit: Leaving) 2020-03-31T14:54:54Z mjsir911 quit (Quit: Goodbye, World!) 2020-03-31T14:55:11Z mjsir911 joined #scheme 2020-03-31T15:05:10Z lavaflow joined #scheme 2020-03-31T15:09:58Z luni quit (Remote host closed the connection) 2020-03-31T15:11:59Z Khisanth quit (Ping timeout: 265 seconds) 2020-03-31T15:25:38Z Khisanth joined #scheme 2020-03-31T15:30:05Z jackhill_ is now known as jackhill 2020-03-31T15:31:55Z lockywolf_ joined #scheme 2020-03-31T15:47:00Z Khisanth quit (Ping timeout: 258 seconds) 2020-03-31T15:49:49Z TCZ quit (Quit: Leaving) 2020-03-31T16:40:54Z Khisanth joined #scheme 2020-03-31T16:45:16Z tohoyn joined #scheme 2020-03-31T16:48:50Z ym555 joined #scheme 2020-03-31T16:51:31Z tohoyn: there is an object system in SRFI-20 but it is withdrawn. I think that it should be reconsidered. 2020-03-31T16:52:20Z ecraven: tohoyn: I've grown enamoured of predicate dispatched generic functions instead of class-based systems lately 2020-03-31T17:09:19Z ym555 quit (Quit: leaving...) 2020-03-31T17:09:24Z drakonis joined #scheme 2020-03-31T17:09:47Z klovett quit (Remote host closed the connection) 2020-03-31T17:11:14Z stepnem quit (Ping timeout: 240 seconds) 2020-03-31T17:13:11Z stepnem joined #scheme 2020-03-31T17:18:56Z kopiyka joined #scheme 2020-03-31T17:28:25Z tohoyn quit (Quit: Lähdössä) 2020-03-31T17:30:44Z jobol quit (Quit: Leaving) 2020-03-31T17:42:17Z mr_machina joined #scheme 2020-03-31T17:42:20Z belmarca quit (Read error: Connection reset by peer) 2020-03-31T17:42:44Z belmarca joined #scheme 2020-03-31T17:44:23Z jcowan: See the library (chibi generic) 2020-03-31T17:45:34Z jcowan: IMO this needs some improvement so that you can declare arbitrary subsumption relationships between predicates: for example, number? subsumes integer?, so if there are methods for both, then the integer? method will be invoked on integers and the number? method on all other numbers. 2020-03-31T17:46:05Z Riastradh: Scheme48 has used a lattice of predicates for number dispatch since forever. 2020-03-31T17:47:07Z jcowan: Baker's paper on SUBTYPEP does something similar. 2020-03-31T17:47:41Z jcowan: http://home.pipeline.com/~hbaker1/Subtypep.html 2020-03-31T18:02:16Z luni joined #scheme 2020-03-31T18:10:02Z ggole quit (Quit: Leaving) 2020-03-31T18:23:10Z klovett joined #scheme 2020-03-31T18:25:34Z klovett quit (Remote host closed the connection) 2020-03-31T18:25:51Z klovett joined #scheme 2020-03-31T18:47:22Z seepel joined #scheme 2020-03-31T18:55:18Z Khisanth quit (Ping timeout: 256 seconds) 2020-03-31T19:00:50Z mr_machina quit (Remote host closed the connection) 2020-03-31T19:07:54Z seepel quit (Ping timeout: 240 seconds) 2020-03-31T19:08:57Z mdhughes: I really dislike the (Classname-methodname obj …) syntax, and when you have subclasses it becomes a complete mess. 2020-03-31T19:09:26Z mdhughes: Which is my my stupid object system uses (@call obj 'methodname …) 2020-03-31T19:10:33Z Khisanth joined #scheme 2020-03-31T19:15:02Z wasamasa: eoops 2020-03-31T19:15:29Z wasamasa: yes, that's an object system 2020-03-31T19:24:46Z Khisanth quit (Ping timeout: 265 seconds) 2020-03-31T19:36:46Z gwatt: I like what swish does with records. They call it "tuples" and there's no inheritance, but the constructors have named parameters and all tuples have copiers with named parameters 2020-03-31T19:39:36Z Khisanth joined #scheme 2020-03-31T19:41:50Z ArthurStrong joined #scheme 2020-03-31T19:52:21Z mdhughes: But the point of using objects instead of records is to get inheritance and methods! 2020-03-31T19:53:44Z mdhughes: R6RS or SRFI-99 is perfectly fine if you just need a structure. Named parameters are nice, but you can make a trivial procedure to take a RTD name and alist of field names/values to make a record. 2020-03-31T19:55:34Z Khisanth quit (Ping timeout: 240 seconds) 2020-03-31T19:58:23Z TCZ joined #scheme 2020-03-31T20:03:02Z mdhughes: Oh, "eoops" isn't just an emote: https://dl.acm.org/doi/10.1145/147135.147248 2020-03-31T20:08:40Z Tirifto joined #scheme 2020-03-31T20:09:02Z mdhughes: I mostly like that. Might mine it for improvement ideas, especially my current "self" argument has to be explicit. 2020-03-31T20:17:59Z CyDefect quit (Remote host closed the connection) 2020-03-31T20:22:24Z Guest11502 joined #scheme 2020-03-31T20:25:22Z gwatt: mdhughes: the fields are actually generated as syntactic keywords so all the named parameters are checked at compile time 2020-03-31T20:25:44Z Guest11502 quit (Remote host closed the connection) 2020-03-31T20:25:46Z drakonis quit (Ping timeout: 240 seconds) 2020-03-31T20:28:13Z seepel joined #scheme 2020-03-31T20:31:03Z hugh_marera quit (Quit: hugh_marera) 2020-03-31T20:43:39Z TCZ quit (Quit: Leaving) 2020-03-31T20:47:27Z tarance joined #scheme 2020-03-31T21:01:55Z pilne joined #scheme 2020-03-31T21:17:49Z sz0 quit 2020-03-31T21:18:01Z sz0 joined #scheme 2020-03-31T21:29:57Z gravicappa quit (Ping timeout: 265 seconds) 2020-03-31T21:47:04Z Riastradh: gwatt: didn't you know compile-time is an evil fabrication of bondage-and-discipline languages to confine your expressiveness 2020-03-31T21:49:18Z jcowan: https://codeburst.io/inheritance-is-evil-stop-using-it-6c4f1caf5117 2020-03-31T21:51:47Z Riastradh: oop is evil stop using it 2020-03-31T21:52:16Z seepel quit (Ping timeout: 256 seconds) 2020-03-31T21:52:27Z daviid` joined #scheme 2020-03-31T22:06:22Z tdammers: oop is fine if you do it in haskell 2020-03-31T22:06:35Z tdammers: also relatively unnecessary in most cases 2020-03-31T22:10:23Z jcowan: Generic functions are OOP: The Good Parts 2020-03-31T22:12:44Z mdhughes: Inheritance is Evil Considered Harmful. 2020-03-31T22:13:12Z tarance: hello, i have an sicp problem 2020-03-31T22:13:16Z mdhughes: Anyone who thinks composition or generic functions are a replacement, hasn't had to build any serious hierarchical behavior. 2020-03-31T22:13:25Z tarance: to be found here: http://paste.debian.net/1137678/ 2020-03-31T22:13:52Z tarance: (a) what 2020-03-31T22:13:57Z mdhughes: Like, say, a computer RPG where you have things on a map, some of which have behavior, some of which are items, some controlled by player… 2020-03-31T22:13:57Z tarance: 's a pair? 2020-03-31T22:14:17Z tarance: (b) why is it expecting one there? 2020-03-31T22:15:34Z mdhughes: Does SICP not explain lists as nested pairs like (a . (b . (c . ())) first? 2020-03-31T22:16:45Z mdhughes: Anyway, cdr takes the second item of a pair, and you have nothing there, an empty list. 2020-03-31T22:18:43Z tarance: well, not before page 27 2020-03-31T22:21:16Z civodul quit (Quit: ERC (IRC client for Emacs 26.3)) 2020-03-31T22:21:48Z mdhughes: OK, anyway, looking at the code it's not terminating, the cdr/pair problem is just trying to read a backtrace and failing. 2020-03-31T22:22:52Z mdhughes: Either good-enough? isn't accurate, or more likely improve is diverging instead of converging on an answer. 2020-03-31T22:22:58Z tarance: ah 2020-03-31T22:25:46Z pjb: mdhughes: I doubt it: sicp is not a scheme tutorial, or a programming tutorial. 2020-03-31T22:26:29Z tarance: the formula for improve is from the book 2020-03-31T22:27:01Z tarance: just checked it against the solution on schemewiki, quite identical 2020-03-31T22:27:09Z mdhughes: SICP says: (define (improve guess) (average guess (/ x guess))) 2020-03-31T22:27:40Z tarance: for sqrt, yes 2020-03-31T22:27:52Z jcowan: I hope there is a separate branch for 0 2020-03-31T22:28:13Z mdhughes: SICP just explodes on 0. 2020-03-31T22:29:39Z mdhughes: Yeah, I always forget just how little SICP explains up front (it has been 30 years since I worked all thru it, only flipped into it for later problems since) 2020-03-31T22:30:32Z jcowan: I don't think it was really meant for self-teaching 2020-03-31T22:31:53Z mdhughes: That's why I always tell people to watch the videos, THEN do the chapter, but you can't ask them questions on videos from the '80s. 2020-03-31T22:32:26Z tarance: videos? 2020-03-31T22:32:43Z mdhughes: I really annoyed one of my CS profs by asking him for help with a book not taught at our university, in a language he didn't know. But he helped me thru some of them anyway. 2020-03-31T22:33:05Z mdhughes: https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CABEA24090 2020-03-31T22:34:01Z luni quit (Remote host closed the connection) 2020-03-31T22:36:40Z tarance: very cool thank you 2020-03-31T22:38:59Z mdhughes: Only thing to keep in mind is these are pre- or just post- publication of 1st ed, and a lot changed in 2nd ed. 2020-03-31T22:39:19Z Naptra quit (Read error: Connection reset by peer) 2020-03-31T22:39:42Z mdhughes: But the videos on bad VHS got me thru the book. 2020-03-31T22:39:59Z Riastradh: tarance: So what is the function you're trying to find a root of here? 2020-03-31T22:41:41Z tarance: exercise 1.8 wants the reader to implement an aproximation function for cube roots similar to the one in the previous exercises for square roots 2020-03-31T22:41:55Z tarance: i'm not trying to find the roots of a function 2020-03-31T22:42:56Z tarance: so i'm wondering why good-enough? isn't terminating even though according to the backtrace the guess is spot on 2020-03-31T22:45:32Z Riastradh: tarance: How does the function you're trying to find a root of figure into `improve' and `good-enough?'? 2020-03-31T22:45:53Z mdhughes: Well, I'm an unfrozen caveman, so I stick print calls at the top of every function when I'm stuck. 2020-03-31T22:46:05Z Tirifto quit (Quit: Leaving.) 2020-03-31T22:46:22Z mdhughes: And reading the log almost always tells me why. 2020-03-31T22:47:00Z Riastradh: tarance: That is, call the function f (originally, f(x) = x^2, but you're trying to change it to f(x) = x^3); what are `imrpove' and `good-enough?' supposed to compute, in terms of f and its derivative f'? 2020-03-31T22:47:45Z Riastradh: well 2020-03-31T22:47:46Z notzmv: mdhughes: I managed to misread that as "so I print stack calls (...)" which makes you sound ten times more caveman-ish I think :p 2020-03-31T22:47:52Z daviid` quit (Quit: ERC (IRC client for Emacs 26.1)) 2020-03-31T22:48:29Z mdhughes: That'd be super useful, but last time I tried that in my logging framework, I couldn't get it to extract deep enough to show me anything useful. 2020-03-31T22:48:38Z Riastradh: Rather, originally, we had f(guess) = guess^2 - x, and now you're trying to find a root of f(guess) = guess^3 - x. 2020-03-31T22:48:53Z tarance: mdhughes: hehe lemme try that 2020-03-31T22:49:04Z notzmv: hey you can always try forth right hahaha 2020-03-31T22:50:34Z Riastradh: (FYI, printing the arguments in this case probably won't help you, because the arguments you're computing turn out to be perfectly fine. But examining how the function you're trying to find a root of figures into `improve' and `good-enough?' may help you to spot the mistake.) 2020-03-31T22:51:24Z lucasb quit (Quit: Connection closed for inactivity) 2020-03-31T22:52:33Z daviid joined #scheme 2020-03-31T22:52:49Z Riastradh: (which is not to say that printing arguments is a bad strategy; it just happens to be a wild goose chase in this case) 2020-03-31T22:56:57Z tarance: Riastradh: ah, i'm blind and slow and laughing at myself now, thank you 2020-03-31T23:10:09Z v_m_v joined #scheme 2020-03-31T23:11:00Z terpri_ joined #scheme 2020-03-31T23:11:05Z terpri quit (Read error: Connection reset by peer) 2020-03-31T23:11:46Z v_m_v quit (Remote host closed the connection) 2020-03-31T23:21:28Z drakonis joined #scheme 2020-03-31T23:23:04Z tarance quit (Remote host closed the connection) 2020-03-31T23:30:50Z X-Scale quit (Ping timeout: 258 seconds) 2020-03-31T23:31:07Z X-Scale` joined #scheme 2020-03-31T23:31:58Z X-Scale` is now known as X-Scale 2020-03-31T23:35:31Z SGASAU joined #scheme 2020-03-31T23:37:23Z xelxebar quit (Ping timeout: 240 seconds) 2020-03-31T23:47:13Z v_m_v joined #scheme 2020-03-31T23:47:31Z TCZ joined #scheme 2020-03-31T23:49:40Z SGASAU quit (Remote host closed the connection) 2020-03-31T23:50:04Z SGASAU` joined #scheme 2020-03-31T23:51:34Z v_m_v quit (Ping timeout: 240 seconds) 2020-03-31T23:53:32Z lockywolf_ quit (Ping timeout: 256 seconds)