***jao` is now known as jao
***karswell` is now known as karswell
*paroneayea is working his way through The Little Schemer <davexunit>doing alright. trying to get a bit of hack time in before bed. <davexunit>yes, that SRFI looks awesome. not in guile yet, but eventually... <paroneayea>The Little Schemer is pretty easy to follow having done plenty of emacs / common lisp, but its way of framing recursion is just stellar <paroneayea>I'm looking forward to getting my butt kicked (I assume) by The Reasoned Schemer <paroneayea>I was a bit surprised to find that scheme returns #<undefined> rather than nil by default, which actually is kinda nice <davexunit>yeah, I would like to get my butt kicked by that book sometime. <paroneayea>I think I've done enough scheming for tonight though... I want to be in a clear-headed mental state for tomorrow's work <paroneayea>I really struggle with doing blogtext when deb isn't available to help me <taylanub>hm, Guile-Emacs compilation is doing something weird, spitting out huge amounts of what appears to be C code. and the compilation buffer is apparently nearing 40 MB if I'm interpreting *Ibuffer* right :P <taylanub>it seems to grow an MB every 15 seconds. not nice. ***madsy_ is now known as Madsy
***karswell` is now known as karswell
<taylanub>paroneayea: I think cons/car/cdr, recursion, and "SRFIs" are trivialities. I'd guess a web/JS developer who doesn't grasp recursion is likely not a very good one... Python has "PEPs" which are like SRFIs. (Python Enhancement Proposal) <taylanub>teaching alists with enthusiasm while shadowing the existence of more appropriate data structures is probably a problem arising from lisp lovers giving alists emphasis because they're what's unique to lisp, while forgetting that the audience might not know/understand that they're no replacements for hash tables, which is obvious to the seasoned lisper <waxysubs>and hash tables are no replacement for alists either. they each have advantages over the other. <waxysubs>alists are purely-functional, persistent data structures. you can update them without destroying the old version. often that's important. <waxysubs>(this is mark_weaver typing from his logger) <taylanub>paroneayea: and I think if you read/write lisp as much as python, your eyes will get used to it just the same. maybe it will take a little longer, but I'm not convinced. just like the brain at some point stops reading individual letters and instead recognizes whole words when you read your native language, I believe your brain at some point starts recognizing specific code snippets and patterns <taylanub>things like "(let ((", "(map (lambda (x) ", "(define (foo bar ...", and even multi-line stuff like "(define-syntax ... \\n (syntax-rules () ((_ " <taylanub>and the benefits with paredit are huge, so I kind of dislike it when people attempt alternative syntaxes and such for lisp instead of spending that effort on dispelling people's FUD on parens <paroneayea>taylanub: waxysubs / mark_weaver: I love lisp and parentheses and paredit (actually I like smartparens), my comment there was less about my own happiness and more about what I think would be useful for adoption <mark_weaver>for about 50 years there have been attempts to improve the syntax of lisp. in fact, from the very beginning, s-expressions were intended only to be an internal representation. for various reasons, all of the attempts have failed. <mark_weaver>I've taken some interest in this though, and I added support for SRFI-110 (curly-infix) to Guile core. <mark_weaver>I'm sure it doesn't satisfy everyone, and it doesn't seem to be taking off either, but I think it's a well designed syntax that, unlike most of the other attempts, does not lose the important advantages of s-expressions. <ijp>clojure is a pretty good datapoint for parens not being the problem <paroneayea>note, the point of the post was less about the syntax things (my point there was about "how might we help adoption" not "s-expressions are bad") <mark_weaver>well, in javascript it is not just parens, but a mix of parens and curly brackets. <paroneayea>it was more about "could guile be a good way to write code that interweaves the frontend and backend of web applications" <mark_weaver>(SRFI-110 is a further extension that I'm not very happy with) <mark_weaver>paroneayea: I would be _very_ happy to see a Guile->Javascript compiler. <paroneayea>mark_weaver: I'd be interested in helping possibly but I am so absolutely new to compiler anything :) <mark_weaver>I haven't looked very closely at it, but for those who want to use Scheme on both client and server sides, there's 'hop'. <paroneayea>(though I'm trying to learn things, so I can be more helpful, or at least have a sense of things) <mark_weaver>well, feel free to experiment. if you do, I'd strongly recommend basing your work on the 'master' git branch of Guile. <paroneayea>well I will probably try (badly) and if so, report the results back in here :)