2017-05-28T00:01:27Z lambda-11235 joined #scheme 2017-05-28T00:09:18Z ski: akkad : ((entries ((compose cdr car vector->list json-read) (open-string-input-port ((compose get-bytevector-all open-gzip-input-port open-file-input-port) file) (native-transcoder)))) 2017-05-28T00:14:07Z daviid quit (Ping timeout: 246 seconds) 2017-05-28T00:14:08Z cemerick joined #scheme 2017-05-28T00:19:43Z racketnoob joined #scheme 2017-05-28T00:19:59Z racketnoob: hello everybody 2017-05-28T00:20:24Z racketnoob: I'm trying to learn some scheme and tried to get an interactive interpreter in racket 2017-05-28T00:20:38Z racketnoob: (that's the reason for the nickname, disregard it) 2017-05-28T00:20:55Z racketnoob: but I'm sort of lost in it 2017-05-28T00:21:44Z racketnoob: I tried with mit-gnu scheme but the interface is really unfriendly for me (I'm a windows user) 2017-05-28T00:22:55Z racketnoob: what other interactive interpreter could I try? nothing fancy, just a commad line interactive shell 2017-05-28T00:24:34Z pjb joined #scheme 2017-05-28T00:29:27Z dmiles quit (Ping timeout: 240 seconds) 2017-05-28T00:35:07Z pjb quit (Ping timeout: 260 seconds) 2017-05-28T00:41:23Z racketnoob quit (Quit: Page closed) 2017-05-28T00:43:04Z acarrico joined #scheme 2017-05-28T00:55:13Z sleffy joined #scheme 2017-05-28T01:06:39Z cemerick quit (Ping timeout: 245 seconds) 2017-05-28T01:28:21Z daviid joined #scheme 2017-05-28T01:33:28Z acarrico quit (Read error: Connection reset by peer) 2017-05-28T01:35:11Z acarrico joined #scheme 2017-05-28T02:04:58Z sleffy quit (Ping timeout: 240 seconds) 2017-05-28T02:06:33Z lritter quit (Read error: Connection reset by peer) 2017-05-28T02:06:38Z lritter_ joined #scheme 2017-05-28T02:12:13Z ArneBab joined #scheme 2017-05-28T02:13:12Z pilne quit (Quit: Quitting!) 2017-05-28T02:14:31Z jonaslund quit (Ping timeout: 260 seconds) 2017-05-28T02:16:28Z ArneBab_ quit (Ping timeout: 240 seconds) 2017-05-28T02:31:32Z pjb joined #scheme 2017-05-28T02:43:08Z gko_ joined #scheme 2017-05-28T02:48:53Z sondr3 joined #scheme 2017-05-28T02:50:32Z mejja quit (Quit: \ No newline at end of file) 2017-05-28T02:53:43Z sondr3 quit (Ping timeout: 260 seconds) 2017-05-28T03:09:07Z cemerick joined #scheme 2017-05-28T03:11:05Z pjb quit (Ping timeout: 246 seconds) 2017-05-28T03:15:25Z zacts joined #scheme 2017-05-28T03:24:06Z ertesx joined #scheme 2017-05-28T03:27:11Z ertes quit (Ping timeout: 246 seconds) 2017-05-28T03:27:11Z ertesx is now known as ertes 2017-05-28T03:28:16Z ski quit (Remote host closed the connection) 2017-05-28T03:31:22Z sssilver joined #scheme 2017-05-28T04:05:14Z badkins quit (Remote host closed the connection) 2017-05-28T04:08:32Z pjb joined #scheme 2017-05-28T04:12:00Z sleffy joined #scheme 2017-05-28T04:15:50Z pjb quit (Ping timeout: 246 seconds) 2017-05-28T04:23:22Z emacsomancer quit (Remote host closed the connection) 2017-05-28T04:38:17Z lritter_ quit (Quit: Leaving) 2017-05-28T04:39:35Z cemerick quit (Ping timeout: 240 seconds) 2017-05-28T04:41:59Z zacts quit (Ping timeout: 260 seconds) 2017-05-28T04:46:51Z zacts joined #scheme 2017-05-28T04:48:44Z jmd joined #scheme 2017-05-28T04:56:36Z emacsomancer joined #scheme 2017-05-28T05:04:59Z daviid quit (Ping timeout: 245 seconds) 2017-05-28T05:09:52Z dmiles joined #scheme 2017-05-28T05:22:36Z DGASAU quit (Read error: Connection reset by peer) 2017-05-28T05:23:29Z DGASAU joined #scheme 2017-05-28T05:30:26Z zacts quit (Quit: WeeChat 1.8) 2017-05-28T05:31:26Z enderby left #scheme 2017-05-28T05:32:39Z bars0 joined #scheme 2017-05-28T05:36:08Z n_blowna_ quit (Ping timeout: 260 seconds) 2017-05-28T05:39:47Z bars0 quit (Quit: leaving) 2017-05-28T05:40:36Z n_blownapart joined #scheme 2017-05-28T06:01:30Z akkad: compose not found. 2017-05-28T06:03:37Z akkad: is there a srfi that brings in compose? 2017-05-28T06:10:53Z jmd left #scheme 2017-05-28T06:33:04Z jonaslund joined #scheme 2017-05-28T07:13:58Z jonaslund quit (Ping timeout: 240 seconds) 2017-05-28T07:32:50Z muelleme joined #scheme 2017-05-28T07:36:04Z niklasl quit (Ping timeout: 260 seconds) 2017-05-28T07:37:56Z muelleme quit (Ping timeout: 260 seconds) 2017-05-28T07:44:00Z lambda-11235 quit (Quit: WeeChat 1.8) 2017-05-28T07:44:42Z igajsin1 joined #scheme 2017-05-28T07:55:58Z niklasl joined #scheme 2017-05-28T07:58:56Z muelleme joined #scheme 2017-05-28T07:59:21Z jonaslund joined #scheme 2017-05-28T08:02:27Z sleffy quit (Ping timeout: 240 seconds) 2017-05-28T08:27:57Z yrdz quit (Ping timeout: 268 seconds) 2017-05-28T08:28:26Z terpri joined #scheme 2017-05-28T08:47:04Z terpri quit (Ping timeout: 245 seconds) 2017-05-28T09:12:37Z niklasl quit (Ping timeout: 240 seconds) 2017-05-28T10:05:05Z pjb joined #scheme 2017-05-28T10:12:57Z jonaslund quit (Ping timeout: 240 seconds) 2017-05-28T10:23:09Z jonaslund joined #scheme 2017-05-28T10:40:45Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-05-28T11:05:49Z jaziz quit (Ping timeout: 268 seconds) 2017-05-28T11:18:24Z niklasl joined #scheme 2017-05-28T11:29:46Z Steverman joined #scheme 2017-05-28T11:34:59Z Steverman quit (Ping timeout: 245 seconds) 2017-05-28T11:39:52Z blackwolf joined #scheme 2017-05-28T11:53:39Z Steverman joined #scheme 2017-05-28T12:54:39Z Steverman quit (Quit: WeeChat 1.7.1) 2017-05-28T13:02:22Z muelleme quit (Ping timeout: 268 seconds) 2017-05-28T13:33:04Z n_blownapart quit (Ping timeout: 260 seconds) 2017-05-28T13:44:41Z n_blownapart joined #scheme 2017-05-28T13:46:36Z jonaslund quit (Ping timeout: 260 seconds) 2017-05-28T14:00:08Z muelleme joined #scheme 2017-05-28T14:06:35Z muelleme quit (Ping timeout: 255 seconds) 2017-05-28T14:14:28Z JoshS quit (Ping timeout: 240 seconds) 2017-05-28T14:26:35Z Khisanth quit (Ping timeout: 258 seconds) 2017-05-28T14:29:14Z JoshS joined #scheme 2017-05-28T14:30:25Z snw quit (Ping timeout: 258 seconds) 2017-05-28T14:35:35Z snw joined #scheme 2017-05-28T14:37:41Z muelleme joined #scheme 2017-05-28T14:42:04Z Khisanth joined #scheme 2017-05-28T14:42:30Z pilne joined #scheme 2017-05-28T14:46:28Z muelleme quit (Ping timeout: 260 seconds) 2017-05-28T14:47:05Z ertes quit (Ping timeout: 245 seconds) 2017-05-28T15:13:42Z blackwol` joined #scheme 2017-05-28T15:17:27Z blackwolf quit (Ping timeout: 240 seconds) 2017-05-28T15:35:22Z groovy2shoes quit (Remote host closed the connection) 2017-05-28T15:41:44Z sz0 joined #scheme 2017-05-28T15:46:08Z groovy2shoes joined #scheme 2017-05-28T15:46:48Z emacsoma` quit (Remote host closed the connection) 2017-05-28T16:07:59Z emacsoma` joined #scheme 2017-05-28T16:19:08Z yrdz joined #scheme 2017-05-28T16:22:51Z yrdz quit (Remote host closed the connection) 2017-05-28T16:23:09Z yrdz joined #scheme 2017-05-28T16:35:23Z alezost joined #scheme 2017-05-28T16:36:40Z sondr3 joined #scheme 2017-05-28T16:56:05Z niklasl quit (Ping timeout: 268 seconds) 2017-05-28T16:56:06Z badkins joined #scheme 2017-05-28T17:03:19Z niklasl joined #scheme 2017-05-28T17:04:40Z terpri joined #scheme 2017-05-28T17:15:45Z sleffy joined #scheme 2017-05-28T17:19:41Z jshjsh joined #scheme 2017-05-28T17:23:20Z JoshS quit (Ping timeout: 245 seconds) 2017-05-28T17:29:57Z muelleme joined #scheme 2017-05-28T17:43:05Z gravicappa joined #scheme 2017-05-28T17:51:16Z alezost quit (Read error: Connection reset by peer) 2017-05-28T17:52:05Z brendyyn quit (Ping timeout: 240 seconds) 2017-05-28T17:52:13Z alezost joined #scheme 2017-05-28T17:54:48Z MrBusiness joined #scheme 2017-05-28T18:11:58Z jaziz joined #scheme 2017-05-28T18:15:23Z muelleme quit (Ping timeout: 260 seconds) 2017-05-28T18:26:45Z zacts joined #scheme 2017-05-28T18:33:20Z gko_ quit (Ping timeout: 246 seconds) 2017-05-28T18:37:42Z jmd joined #scheme 2017-05-28T18:52:41Z sssilver quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-28T19:03:05Z sssilver joined #scheme 2017-05-28T19:03:32Z noethics: is there any issue with a reader first reading in all sexps *exactly the same way* then processing special forms? 2017-05-28T19:04:04Z noethics: my method seems to be fine but i don't know if my logic is totally wrong since i'm having a hard time parsing some certain things 2017-05-28T19:05:27Z noethics: actually it's totally the logic nvm 2017-05-28T19:06:29Z noethics: basically all sexps being of the form (sexp . '()) screws things up for me in the case of special forms 2017-05-28T19:07:18Z noethics: my last parser was smarter and had special forms baked in so i never had this problem 2017-05-28T19:09:32Z pjb: Some scheme have reader macros like Common Lisp, I hear. 2017-05-28T19:10:02Z akkad: pjb yeah, like sagittarius/gerbil 2017-05-28T19:14:00Z noethics: i think i need to have different kinds of nils 2017-05-28T19:14:37Z noethics: i should have just not rewritten the reader :< 2017-05-28T19:14:46Z ecraven: why would you need different nils? 2017-05-28T19:15:11Z noethics: right now it can't differentiate between '() and a nil inserted by the reader 2017-05-28T19:15:18Z pjb: So the point is that a reader macro may be activated from the toplevel in the middle, so you cannot just read all the sexps. The semantics usually calls for a read eval loop, and reading after having compiled and installed a reader macro will be different. 2017-05-28T19:15:42Z ecraven: noethics: there is no nil in Scheme ;) at least none that is differentiable from '() 2017-05-28T19:15:42Z noethics: pjb, i have macros expand on the second pass 2017-05-28T19:15:50Z pjb: too late. 2017-05-28T19:15:56Z pjb: reader macros work when reading. 2017-05-28T19:16:13Z pjb: But you can exclude them. 2017-05-28T19:16:15Z noethics: would you know if it was or wasn't a reader macro if read had two passes and you got the same result? 2017-05-28T19:16:54Z pjb: the question is whether what you read is what was intended or not, not whether you read it the same twice. 2017-05-28T19:16:56Z noethics: ecraven, so in scheme yes but the implementation might :P 2017-05-28T19:18:22Z noethics: pjb, i don't know if i understand. i can see why expanding during read could be more efficient 2017-05-28T19:18:33Z noethics: but is it theoretically impossible to have a second pass work the same way? 2017-05-28T19:19:06Z ecraven: noethics: but how would you read custom syntax if you read and then process? 2017-05-28T19:19:28Z alezost quit (Quit: I live in GuixSD and Emacs ) 2017-05-28T19:19:33Z ecraven: like I've added #.(.....) to MIT/GNU Scheme by dispatching on reading #.( and then doing something completely custom at the instance of reading it 2017-05-28T19:19:34Z noethics: my first read pass just reads all the sexps into cells 2017-05-28T19:19:40Z ecraven: should work the same in other Schemes 2017-05-28T19:19:41Z jonaslund joined #scheme 2017-05-28T19:19:44Z noethics: then i run a pass on all the cells to disambiguate forms and process macros 2017-05-28T19:19:50Z ecraven: noethics: but reader macros are about not reading sexps, but other things 2017-05-28T19:20:37Z noethics: ive found that my parsers become a lot harder to reason about when i do everything during one pass 2017-05-28T19:20:56Z noethics: ecraven, i know i just don't see the problem of doing it in 2 passes 2017-05-28T19:21:27Z ecraven: noethics: but how would you actually read #X73[3 4 5] if you have no idea *how* to read it? 2017-05-28T19:21:56Z noethics: that would fail 2017-05-28T19:22:12Z ecraven: but that is (imho) exactly what reader macros are useful for 2017-05-28T19:22:16Z ecraven: otherwise, it's just a 2017-05-28T19:22:18Z ecraven: (normal) ma8cro 2017-05-28T19:22:24Z noethics: i see 2017-05-28T19:22:49Z ecraven: afaiu, it's not called reader macro because it is called when reading stuff, but because it can totally change what the reader does 2017-05-28T19:22:52Z noethics: that's roughly the only case a reader macro wouldnt work how im doing it 2017-05-28T19:23:08Z ecraven: noethics: but isn't that the only reason for actually *having* reader macros? 2017-05-28T19:23:14Z noethics: i guess 2017-05-28T19:23:22Z ecraven: what's the difference between your "reader macros" and your normal macros? 2017-05-28T19:23:34Z noethics: i don't have reaader macros 2017-05-28T19:23:46Z noethics: unless you consider special form processing reader macros 2017-05-28T19:23:52Z noethics: in that sense they're exactly the same 2017-05-28T19:24:01Z ecraven: some interesting examples: https://gist.github.com/chaitanyagupta/9324402 2017-05-28T19:24:16Z noethics: thx 2017-05-28T19:24:22Z ecraven: it depends on whether you actually *want* expensible reader macros, but remember this: 2017-05-28T19:24:39Z ecraven: to support all the different #... things Scheme already has, you need to dispatch on whatever comes after the # 2017-05-28T19:24:57Z ecraven: it wouldn't be too hard to make it possible to register other custom readers, that work in the same framework 2017-05-28T19:25:06Z noethics: true 2017-05-28T19:25:11Z ecraven: all the serious Schemes have a way to register new #-readers, I think 2017-05-28T19:25:15Z noethics: i can probably work that into my recursive descent parser 2017-05-28T19:25:19Z noethics: without much headache 2017-05-28T19:25:35Z noethics: the problem is that i have a chicken and egg problem, i'd have to eval before i parsed anything 2017-05-28T19:25:43Z noethics: parsed beyond just sexp representation 2017-05-28T19:25:53Z noethics: my method here can't feasibly support reader macros i guess 2017-05-28T19:26:14Z ecraven: why? if you read a (, you call read-list, which calls read-element until it hits a ) 2017-05-28T19:26:24Z ecraven: read-element must dispatch depending on what it encounters 2017-05-28T19:26:39Z ecraven: if it reads #X, it could call my custom reader for that thing above, if it reads #(, it calls read-vector, etc. 2017-05-28T19:26:41Z noethics: that's fine but once it parses the sexp it has no idea what it is 2017-05-28T19:27:00Z noethics: id have to do the classification inline and then eval it if it's a reader macro 2017-05-28T19:27:03Z ecraven: noethics: it doesn't parse the sexp, it just constructs a list out of whatever read-element returns 2017-05-28T19:27:08Z noethics: which completely defeats the purpose of me doing it this way :P 2017-05-28T19:27:20Z ecraven: hm.. sorry, I don't understand your architecture well enough to actually comment on this 2017-05-28T19:27:27Z C-Keen: noethics: you are conflating constructing an AST and manipulating it 2017-05-28T19:27:36Z noethics: i'm not conflating that 2017-05-28T19:28:14Z noethics: ecraven, i totally understand how i *would* implement them 2017-05-28T19:28:21Z ecraven: I don't see how reader macros make the AST more complex, a custom reader macro just returns a new AST node, just like the default reader macros for #t, #f, #(... ' ` ,@ and so on 2017-05-28T19:28:31Z noethics: i'm glad i asked here since it turns out my new method for parsing isn't sound :P 2017-05-28T19:29:06Z ecraven: noethics: how do you handle ' ` , ,@ right now? ad-hoc parse them all? 2017-05-28T19:29:10Z noethics: yes 2017-05-28T19:29:20Z ecraven: maybe look at a few other schemes' way of implementing the reader 2017-05-28T19:29:30Z ecraven: I just know the mit one, it's not hard to understand 2017-05-28T19:29:31Z noethics: ive implemented it *properly* before 2017-05-28T19:29:45Z noethics: this is a new scheme interpreter i wrote this weekend on amphetamines 2017-05-28T19:29:52Z noethics: i had this brilliant idea to simplify my parser 2017-05-28T19:30:55Z noethics: that said, besides my ambiguity issue that's solvable and reader macros, it definitely did simplify my reader a lot 2017-05-28T19:31:06Z ecraven: how does it work? 2017-05-28T19:31:14Z noethics: it reads in 2 passes 2017-05-28T19:31:32Z noethics: first pass, it reads the exp into just cells no matter what forms it contains 2017-05-28T19:31:33Z ecraven: is that really simpler than recursive descent with reader macros? 2017-05-28T19:31:39Z noethics: second pass, it parses it and returns the result 2017-05-28T19:31:52Z noethics: it is simpler for sure 2017-05-28T19:32:35Z ecraven: well, it needs two passes, and it doesn't actually work :-/ 2017-05-28T19:33:15Z noethics: that's because of an oversight 2017-05-28T19:33:31Z noethics: the two passes isn't ideal but like i said, simpler :P not more efficient 2017-05-28T19:33:53Z ecraven: why is two passes simpler than one pass? 2017-05-28T19:33:53Z noethics: i'm also not saying this is better. it is ONLY simpler, for me. and it's just a toy 2017-05-28T19:34:21Z ecraven: yea, not trying to disparage you, I'm just not sure I understand your reasoning :-/ probably is entirely my foult 2017-05-28T19:34:25Z noethics: because when i add new forms, when i add anyhting, it's just adding a new parser to a list of parsers 2017-05-28T19:34:45Z noethics: i don't have to think about where to put it in my recursive descent parser, or about breaking anything 2017-05-28T19:34:59Z ecraven: noethics: ah, so you parse IF into a totally different AST node than a normal application, for example? 2017-05-28T19:35:06Z noethics: yes 2017-05-28T19:35:57Z ecraven: well, due to the simple syntax of Scheme there shouldn't be many places where you need to add it (exactly one for most things, I think) 2017-05-28T19:36:20Z noethics: what one thing? 2017-05-28T19:36:51Z civodul joined #scheme 2017-05-28T19:37:00Z noethics: my problem is currently: lambda in some cases parses as ((lambda node) . '()), so it's indistinguishable from an application 2017-05-28T19:37:02Z ecraven: do you handle LET and friends in the reader? 2017-05-28T19:37:17Z noethics: i handle let, lambda, everyting, on the second pass 2017-05-28T19:38:29Z ecraven: personally, I'd use the first phase for reading things (including custom reader macros), then run a parser over the resulting s-expression structure to construct an actual AST. you can re-use that parser for `eval', for example 2017-05-28T19:38:49Z noethics: that's what i do 2017-05-28T19:39:13Z ecraven: it's not what you said, you said you cannot just add custom dispatching reader macros 2017-05-28T19:39:15Z noethics: but without the including reader macros part, which would default the purpose of doing it in 2 passes i think 2017-05-28T19:39:26Z ecraven: why, it would still be just 2 passes? 2017-05-28T19:39:28Z noethics: defeat* 2017-05-28T19:39:45Z noethics: well what you said there had two passes too, no? 2017-05-28T19:40:16Z ecraven: yes, I'm not advocating against using multiple passes (though to me they are not passes ;) 2017-05-28T19:40:32Z noethics: so my last scheme had only one pass 2017-05-28T19:40:42Z ecraven: in mit-scheme, a custom syntax handler has the following signature: 2017-05-28T19:41:01Z ecraven: (define (handler:dot port db ctx char1 char2) ...) 2017-05-28T19:41:18Z ecraven: you can register that handler for #. 2017-05-28T19:41:24Z noethics: i see 2017-05-28T19:41:25Z ecraven: so whenever the reader sees #., it calls that handler 2017-05-28T19:41:42Z ecraven: which then reads from `port' as much as it needs to, and then returns an object 2017-05-28T19:41:45Z noethics: and then it can either do whatever or dispatch to the vector handler, right 2017-05-28T19:41:46Z ecraven: an s-expression 2017-05-28T19:41:59Z noethics: i understand completely 2017-05-28T19:42:02Z ecraven: yes, it can call `(read port)' to read "normally" 2017-05-28T19:42:17Z ecraven: like the vector handler, which just calls read until it sees ) 2017-05-28T19:42:39Z ecraven: you might have something like this in place already, to handle all the normal #.. stuff 2017-05-28T19:44:20Z noethics: ecraven, my problem is that if i can add special handlers to the first pass, then it's already too "smart" and i need to maintain it 2017-05-28T19:44:50Z noethics: the point of doing the first pass naively and returning everything as a sexp first is so that entire bit is abstracted away from the actual parsing 2017-05-28T19:45:03Z noethics: for me, i don't think reader macros are all that useful either. i probably won't implement them 2017-05-28T19:45:29Z wasamasa: but why? 2017-05-28T19:45:38Z noethics: why what? 2017-05-28T19:45:42Z wasamasa: they're not exactly hard to do, unless you want to expose them to the user 2017-05-28T19:45:45Z ecraven: starting from here, you can see how mit registers all the readers for the usual stuff http://git.savannah.gnu.org/cgit/mit-scheme.git/tree/src/runtime/parse.scm#n249 2017-05-28T19:45:52Z noethics: i just explained why 2017-05-28T19:45:53Z ecraven: wasamasa: even that isn't that hard, is it? 2017-05-28T19:46:03Z noethics: it's not about being hard :D it 2017-05-28T19:46:09Z wasamasa: ecraven: well, it's tricky if you want to allow the user to define their own at runtime 2017-05-28T19:46:10Z noethics: 's about the slippery slope of my first pass doing too much 2017-05-28T19:46:11Z ecraven: noethics: I don't quite understand your reasoning, but then, I don't have to ;) 2017-05-28T19:46:26Z ecraven: wasamasa: is it? you "just" need a vector of dispatching characters 2017-05-28T19:46:43Z wasamasa: ecraven: yeah, but how do you handle code that relies on those? 2017-05-28T19:47:18Z ecraven: wasamasa: what do you mean? 2017-05-28T19:47:37Z ecraven: you mean, how to I ensure that the right reader macros are loaded to actually load a given file? 2017-05-28T19:47:37Z araujo joined #scheme 2017-05-28T19:47:51Z ecraven: isn't that the user's problem, to actually load things in the right order? 2017-05-28T19:48:06Z wasamasa: more like isolating them from each other 2017-05-28T19:48:24Z wasamasa: IIRC someone wrote a CL package for having per-package reader macros 2017-05-28T19:48:29Z ecraven: wasamasa: easiest: they are global, they have the same conflicts as any other global resource 2017-05-28T19:52:08Z wasamasa: could have been https://github.com/melisgl/named-readtables 2017-05-28T19:52:24Z ecraven: wasamasa: mit actually has per-port read-tables 2017-05-28T19:52:37Z ecraven: in addition to the global one 2017-05-28T19:52:46Z noethics: that would be useful maybe 2017-05-28T19:53:09Z noethics: it means i can have different syntax coming in from the rear m8 2017-05-28T19:53:17Z ecraven: aye 2017-05-28T19:55:57Z terpri quit (Ping timeout: 240 seconds) 2017-05-28T20:00:46Z noethics: do you ever get into a deep thought about existence and simplicity when you first get lambdas implemented in a new scheme 2017-05-28T20:01:10Z noethics: and realize how almost every other computation can come from that simple primitive 2017-05-28T20:02:27Z noethics: it's more than just about repeating turing and shit when you do it yourself and understand it 2017-05-28T20:06:11Z noethics: scheme itself is far too complex to embody this simple concept though 2017-05-28T20:07:25Z rocx joined #scheme 2017-05-28T20:08:15Z noethics: if only the pragmatists didn't get to it~ >:) 2017-05-28T20:09:24Z noethics: or if only guy l steele didn't write javascript 2017-05-28T20:09:28Z noethics: one of those 2017-05-28T20:20:26Z jmd quit (Ping timeout: 246 seconds) 2017-05-28T20:21:09Z rocx` joined #scheme 2017-05-28T20:22:40Z rocx quit (Ping timeout: 246 seconds) 2017-05-28T20:22:45Z rocx` is now known as rocx 2017-05-28T20:26:34Z sssilver quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-28T20:27:01Z noethics: herein, my problem https://dpaste.de/ZJxF/raw 2017-05-28T20:27:07Z terpri joined #scheme 2017-05-28T20:29:51Z bars0 joined #scheme 2017-05-28T20:32:35Z bars0 quit (Client Quit) 2017-05-28T20:32:51Z bars0 joined #scheme 2017-05-28T20:37:58Z bars0 quit (Quit: leaving) 2017-05-28T20:38:00Z rocx: what r7rs implementation would ya'll recommend? preferrably one without silly impl-specific expansions or odd gimmicks? 2017-05-28T20:38:33Z noethics: what do you want to use it for 2017-05-28T20:39:01Z rocx: general-purpose use. 2017-05-28T20:39:29Z rocx: reason i'm asking is because at least the case with chibi-scheme, libraries seem to have to be broken up into some hierarchy on the filesystem. 2017-05-28T20:39:47Z noethics: chibi-scheme is more for embedded use, not general purpose 2017-05-28T20:40:16Z noethics: for real general purpose i can't answer your question 2017-05-28T20:40:23Z noethics: someone here surely can though 2017-05-28T20:40:47Z noethics: i had okay time with larceny 2017-05-28T20:40:58Z rocx: if all else fails, i can try to turn r6rs from chez into r7rs. 2017-05-28T20:41:07Z noethics: that's what i actually use the most 2017-05-28T20:41:11Z noethics: chez 2017-05-28T20:41:19Z noethics: the reply is GOOD 2017-05-28T20:41:22Z noethics: depl* 2017-05-28T20:41:22Z rocx: ha. wonder if it's ever going to update to the new spec. 2017-05-28T20:41:23Z noethics: repl* omfg 2017-05-28T20:46:11Z sssilver joined #scheme 2017-05-28T20:46:16Z daviid joined #scheme 2017-05-28T20:48:43Z pierpa joined #scheme 2017-05-28T20:51:15Z gravicappa quit (Ping timeout: 245 seconds) 2017-05-28T20:51:20Z ecraven: chibi is nice enough for general use too 2017-05-28T20:51:32Z lritter joined #scheme 2017-05-28T20:53:51Z mejja joined #scheme 2017-05-28T20:55:13Z noethics: it's really minimal is all 2017-05-28T20:55:18Z noethics: and the repl sucks 2017-05-28T20:59:01Z ecraven: noethics: what are you missing? I wouldn't call it minimal, it even has an FFI 2017-05-28T20:59:06Z emacsoma` quit (Remote host closed the connection) 2017-05-28T20:59:11Z ecraven: also, I have a swank backend for chibi somewhere, that is nice for a repl ;) 2017-05-28T20:59:21Z ecraven: and geiser has very basic support for it too 2017-05-28T21:02:04Z emacsoma` joined #scheme 2017-05-28T21:02:21Z noethics: ecraven, i'm not personally missing anything, but if you're looking to use scheme for general purpose you probably want extensions 2017-05-28T21:02:34Z noethics: a good stdlib of sorts, or plugin system 2017-05-28T21:02:53Z sondr3 quit (Ping timeout: 240 seconds) 2017-05-28T21:11:01Z emacsoma` quit (Remote host closed the connection) 2017-05-28T21:12:10Z JoshS joined #scheme 2017-05-28T21:13:28Z jshjsh quit (Ping timeout: 240 seconds) 2017-05-28T21:17:32Z Riastradh joined #scheme 2017-05-28T21:17:37Z JoshS quit (Ping timeout: 246 seconds) 2017-05-28T21:20:33Z ecraven: noethics: doesn't chibi have all that? it even has snow for even more extensions 2017-05-28T21:20:49Z emacsoma` joined #scheme 2017-05-28T21:21:06Z ecraven: it isn't my main scheme, but when I have used it, I've always found libraries to do what I needed. of course, ymmv 2017-05-28T21:21:11Z noethics: idk i was under the assumption it didn't. i know it just implements r7rs libaries 2017-05-28T21:21:24Z ecraven: it has much more than only r7rs 2017-05-28T21:21:26Z noethics: and i saw that repo thing 2017-05-28T21:21:40Z zacts quit (Ping timeout: 245 seconds) 2017-05-28T21:21:41Z ecraven: http://synthcode.com/scheme/chibi/#h2_StandardModules 2017-05-28T21:21:44Z noethics: but id still use CHICKEN over it, if i wanted to get a lot of work done 2017-05-28T21:21:57Z sleffy quit (Ping timeout: 240 seconds) 2017-05-28T21:22:13Z ecraven: of course, everyone is allowed to pick their own schemes, but chicken is very much not full r7rs atm, whereas chibi is 2017-05-28T21:22:22Z noethics: ik 2017-05-28T21:22:30Z emacsoma` quit (Remote host closed the connection) 2017-05-28T21:22:30Z noethics: i use chibi as a calculator 2017-05-28T21:22:33Z noethics: because it's so good 2017-05-28T21:22:50Z noethics: i havent explored 3rd party repls in scheme much, i'm a casual user 2017-05-28T21:22:57Z igajsin1 quit (Ping timeout: 240 seconds) 2017-05-28T21:23:08Z ecraven: noethics: I think the main cross-platform one is geiser 2017-05-28T21:23:27Z ecraven: I have usable swanks for chibi and mit, I think chicken had one at some point too 2017-05-28T21:23:39Z ecraven: swank as in slime, the common lisp thing 2017-05-28T21:23:44Z noethics: ic 2017-05-28T21:24:01Z noethics: will investigate 2017-05-28T21:24:17Z ecraven: if you want the chibi one, ping me, I think I haven't put it on github yet 2017-05-28T21:24:22Z ecraven: need to clean it up a bit 2017-05-28T21:24:36Z noethics: i def do want it 2017-05-28T21:24:49Z noethics: put it on github though i bet a lot of people will use it 2017-05-28T21:27:29Z emacsoma` joined #scheme 2017-05-28T21:28:39Z aeth quit (Ping timeout: 268 seconds) 2017-05-28T21:30:05Z aeth joined #scheme 2017-05-28T21:34:44Z zacts joined #scheme 2017-05-28T21:34:52Z sssilver quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-28T21:36:21Z sssilver joined #scheme 2017-05-28T21:36:34Z sssilver quit (Client Quit) 2017-05-28T21:36:58Z akkad: ecraven: would love a link to it 2017-05-28T21:43:23Z zacts quit (Ping timeout: 246 seconds) 2017-05-28T21:44:19Z zacts joined #scheme 2017-05-28T21:52:43Z civodul quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-05-28T21:52:47Z rocx: noethics: geiser-mode. makes any scheme with a poor repl better. 2017-05-28T21:53:18Z noethics: the problem is that i use vim 2017-05-28T21:53:31Z noethics: but i've wanted to switch to emacs 2017-05-28T21:53:45Z noethics: i think i can manage it in evil mode 2017-05-28T21:54:05Z rocx: evil's good. a bit too invasive for my tastes but once you go hjkl you don't go back. 2017-05-28T21:59:49Z noethics: yeah 2017-05-28T22:00:07Z noethics: do you write your own elisp all the time? 2017-05-28T22:00:16Z noethics: that seems so good 2017-05-28T22:00:28Z noethics: that's why i want to switch to emacs. vimscript is really pitiful 2017-05-28T22:01:17Z ertes joined #scheme 2017-05-28T22:12:29Z ertes quit (Quit: Bye!) 2017-05-28T22:12:58Z ertes joined #scheme 2017-05-28T22:13:59Z rocx: noethics: not all the time. 2017-05-28T22:14:35Z jonaslund quit (Ping timeout: 245 seconds) 2017-05-28T22:15:45Z rocx: but it is more of a constant twiddling once you find something that bothers you. 2017-05-28T22:16:05Z rocx: same itch when you feel you can automate a repetitive task on a machine. 2017-05-28T22:16:06Z JoshS joined #scheme 2017-05-28T22:27:57Z jaziz quit (Ping timeout: 240 seconds) 2017-05-28T22:32:35Z sssilver joined #scheme 2017-05-28T22:32:37Z sleffy joined #scheme 2017-05-28T22:43:16Z terpri quit (Ping timeout: 260 seconds) 2017-05-28T22:49:07Z mejja quit (Quit: \ No newline at end of file) 2017-05-28T22:50:34Z edgar-rft quit (Quit: edgar-rft) 2017-05-28T22:54:35Z ertes quit (Ping timeout: 245 seconds) 2017-05-28T22:58:48Z blackwol` quit (Ping timeout: 260 seconds) 2017-05-28T23:06:08Z ertes joined #scheme 2017-05-28T23:07:35Z daviid quit (Ping timeout: 240 seconds) 2017-05-28T23:11:07Z jaziz joined #scheme 2017-05-28T23:17:25Z lambda-11235 joined #scheme 2017-05-28T23:22:15Z sssilver quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-28T23:51:37Z sssilver joined #scheme