IRC channel logs


back to list of logs

***jao` is now known as jao
***karswell` is now known as karswell
<davexunit>good evening
<paroneayea>davexunit: how are you doin'?
*paroneayea is working his way through The Little Schemer
<paroneayea>also, reading
<paroneayea>which is wicked cool looking
<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...
<davexunit>wow, it was just finalized in july
<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
<davexunit>I really like the style
<paroneayea>yeah the style is great for sure!
<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.
<davexunit>yeah, I like it too.
<davexunit>set! returns *unspecified*, not nil or #f.
<davexunit>makes good sense.
<paroneayea>set! seems so excited to do its job
<davexunit>I like being able to use punctuation
<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
<davexunit>a lot of work to make a good release.
<paroneayea>I really struggle with doing blogtext when deb isn't available to help me
<paroneayea>deb == awesome
<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
<paroneayea>at the risk of being told I have no idea what I'm talking about (probably true) :)
<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>while reading code
<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
<mark_weaver>javascript too :)
<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>sorry, I meant SRFI-105 (curly-infix)
<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>so I probably won't be of much help
<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 :)
<mark_weaver>cool. we learn by trying :)