IRC channel logs

2017-08-07.log

back to list of logs

<Apteryx>Is there a recursive mkdir like "mkdir -p" in Guile?
<davexunit>Apteryx: not in guile, but guix has one.
<davexunit>which I assume is where you are using it :)
<Apteryx>davexunit: Yes I am :)
<davexunit>I'm pretty sure I snarfed the implementation for another project of mine
<Apteryx>I didn't find it. I used (system* "mkdir "-p" ...)
<paroneayea>davexunit: https://groups.csail.mit.edu/mac/users/gjs/6.945/readings/robust-systems.pdf
<paroneayea>an essay on robustness by sussman
<paroneayea>maybe good to throw at someone who argues "but that violates the unix-philosphy!"
<davexunit>paroneayea: oh cool, is this new?
<paroneayea>davexunit: nope, it's from 2008
<paroneayea>and it's mostly the same thing as in the talks he's given recently
<paroneayea>degeneracy of biological systems as an example, emacs as an example, etc
<paroneayea>but
<paroneayea>it's nice to have a paper version :)
<cmaloney>And now, because of one toot by paroneayea I have now added 13 videos to my to_watch folder
<paroneayea>davexunit: but I did find a series of newer videos by sussman https://groups.csail.mit.edu/mac/users/gjs/6946/Video/
<paroneayea>haha cmaloney
<paroneayea>cmaloney: btw speaking of videos!
<cmaloney>yes?
<paroneayea>I watched your intro to scheme talk and liked it
<cmaloney>Thank you!
<paroneayea>it was review for me but I thought it was a good overall intro
<paroneayea>I also notice that in that videos link above, there's a bunch of intro to scheme videos by sussman https://groups.csail.mit.edu/mac/users/gjs/6946/Video/scheme.html
<cmaloney>Thanks. The audience was primarily unix admins so I got a lot of "why would I ever use this?" questions
<paroneayea>lol
<paroneayea>cmaloney: did you tell them "because in the future you're running guix and shepherd and guile's running everything on your system!"? :)
<paroneayea>;)
<cmaloney>Well, you probably wont, but it's a gentler introduction to JavaScript than JavaScript
<cmaloney>paroneayea: Nah, they have yet to forgive systemd.
<paroneayea>heh :)
<cmaloney>Or rather, PulseAudio
<cmaloney>and likely the move from BSD-style init to SystemV init
<paroneayea>I know people who are still upset that they had to move from LILO to GRUB!
<cmaloney>Oh totes.
<cmaloney>Change is hard.
<cmaloney>Hell, I'm describing a language that is older than me
<cmaloney>maybe we could do something with it? :)
<cmaloney>(DId I mention that several folks at Coffee House Coders didn't even know what a LISP was?)
<paroneayea>dang
<cmaloney>Yeah. I mean, I haven't been into Lisp at all but even I knew it just from the background radiation
<cmaloney>But, every day there's someone born who doesn't know "The Flintstones".
<cmaloney>(you poor summer children)
<paroneayea>I wonder how many people are sick of me linking to scheme things on mastodon
<paroneayea>or rather, the ostatus fediverse
<cmaloney>Nah, I think that's part of the fun
<cmaloney>and if they're sick of it they can unfollow / mute / block
<cmaloney>many options
<cmaloney>sucking eggs is also an option
<Apteryx>Is it legit to symlink a symlink? ;)
<Apteryx>It's giving me a duplicate level... so I guess not.
<Apteryx>What is the best way to write a string to a file?
<Apteryx>call-with-output-file?
<Apteryx>Seems a bit indirect to have to use "display" instead of a write.
<manumanumanu>davexunit: Thanks for the ideas you gave me in the reddit thread. Next revision of the loops will do some quasisyntax magic and have support for non-tail-recursive loops. I will have to do some major refactoring though, and I will group that with a rewrite to make everything but the emit-case more procedural. This will be not only much more flexible, but also faster since there will be a lot less syntax
<manumanumanu>transformations
***webshinra_ is now known as webshinra
***random-nickname is now known as random-nick
<davexunit>manumanumanu: you're welcome!
<paroneayea>rekado_: btw, re: your "is there any way to save the state of some module, etc", I found it interesting that MIT Scheme allows you to save a "world" to disk, not unlike the old lisp machines of yore https://www.gnu.org/software/mit-scheme/documentation/mit-scheme-user/World-Images.html
<paroneayea>however, that would probably store more than you actually wanted, but I thought of your exploration of related topics when I bumped into it
<paroneayea>I'm not sure it's a feature we want in guile either, but it does seem cool :)
<catonano>paroneayea: I would like to hhave it in Guile
<rekado_>sneek: later tell paroneayea “disk-save” is interesting. For Guile I think we can do better by implementing static linking.
<sneek>Will do.
<paroneayea>:)
<sneek>paroneayea, you have 1 message.
<sneek>paroneayea, rekado_ says: “disk-save” is interesting. For Guile I think we can do better by implementing static linking.
<rekado_>oh, you’re around.
<rekado_>don’t see your name in my autocomplete results
<dsmith-work>Daily Greets, Guilers
<cmaloney>greets and salutations
<paroneayea>hey ho cmaloney
<cmaloney>How goes the battles?
<paroneayea>meh, lots of contracting to work on
<paroneayea>tempted to work on other things, but I'm being good
<paroneayea>only occasionally stealing glances at problem sets from the symbolic computation class I linked :)
<paroneayea>how are you cmaloney?
<cmaloney>Contracting? Sounds exciting.
<cmaloney>Dealing with a recruiter that said (no joke) that they see lots of Python and Scheme jobs
<paroneayea>wow! lots of scheme jobs?
<cmaloney>which seems a bit of nonsense to me. ;)
<cmaloney>Yeah, he wants to get me on the phone
<cmaloney>so I asked him "what part of my resume would you like to talk about"?
<cmaloney>because I really hate talking to recruiters
<paroneayea>I'm getting away with scheme at my contract, but that's because it's some data generation stuff that nobody is working on but me :)
<cmaloney>it's rare to find one that isn't trying to jam you into a job like a kid that's two-sizes too lard for their clothes.
<cmaloney><3
<cmaloney>s/lard/large/
<paroneayea>I've never gotten a job through a recruiter
<paroneayea>I did go through one once, it was a recruiter that worked at the company themselves
<cmaloney>Early on I did (1990s) but most of them have been utter disasters
<paroneayea>but I didn't get that one
<cmaloney>They don't understand OSS, so I'm one of the outliers.
<amz3`>cmaloney: let me understand, some recruiter is looking for scheme hackers?
<cmaloney>No, some recruiter is full of crap
<cmaloney>I think I have as much chance of finding a scheme job in Metro Detroit as I have for 6502 assembly
<cmaloney>(not impossible, but highly unlikely)
<amz3`>hmm
<amz3`>ok
<amz3`>too bad
<cmaloney>Meh, I'm not at the level where I'd claim competency in Scheme anyway
<amz3`>at least I am not coding in C# or Java, but I wish I could use some guil
<cmaloney>but I mentioned that i was learning Scheme and had Python experience and his response was "we have lots of those jobs".
<cmaloney>Which felt a lot like he was full of the poopies.
<amz3`>well, given the number of guile hacker, you may be in the category of hire-able anyway :)
<amz3`>:)
<cmaloney>Heh
<cmaloney>I think there's 118 other folks in line. :)
<amz3`>take daviid as an architect and it will be smooth
<cmaloney>unless there's another bot in here that I'm not aware of.
<manumanumanu>davexunit: Why isn't reverse! continuation safe? is it implemented in C or is there some mutation thing I don't quite understand
<amz3`>I've seen people starting coding javascript, with no prior background javascript, sure it will be possible to do some scheme work as easily in the proper environment
<davexunit>manumanumanu: think about using map where the mapping function uses abort-to-prompt or something
<amz3`>right now, the best chances to land a job in Guile is via a) guix b) artanis
<davexunit>it's possible that the continuation can be resumed more than once
<davexunit>but reverse! mutates the list
<davexunit>so the results can get super messed up
<davexunit>so using reverse! not only makes for ugly code compared to the natural recursion, it means that your code won't compose with continuations
<cmaloney>(Not familiar with Artanis, and Google has polluted that namespace with Starcraft)
<manumanumanu>davexunit: ah! of course. thanks
<cmaloney>(Ah, the web framework)
<davexunit>manumanumanu: yw. if the code you are working with is inherently imperative anyway, then it doesn't matter, but as a general-purpose utility library, preserving continuation safety seems like a noble goal to reach for.
<daviid>:) amz3` tx for the nice word,. I also wish they would be more work for schemers and guilers, and I'm currently looking for some (free s/w, gpl compat, research, part time freelance ...) but most offers are about java and python
<cmaloney>Yeah, I've been looking for remote Python work.
<cmaloney>Except most of those are for Full-stack developers and my front-end experience ends about 2000ish
<cmaloney>apparently things have changed since then
<cmaloney>(possibly since breakfast)
<amz3`>cmaloney: yes, javascript eco system is fast
<manumanumanu>davexunit: not just noble. it's cool :) I slept on the problem, and I think I can do some quasisyntax things and make it general so I don't need any special case
<davexunit>manumanumanu: good luck with it :)
<cmaloney>And frankly I'm a little sad that React essentually won because I'm no fan of Facebook
<cmaloney>I'd rather work with Elm than React if I'm going to write meta-language
<amz3`>cmaloney: well, there is vue et preact
<cmaloney>(and JSX just rubs me the wrong way)
<davexunit>I always forget that react isn't javascript but an additional language
<davexunit>ugh
<davexunit>JSX is *horrible* and unfortunately that is an unpopular opinion
<davexunit>combining javascript syntax with html? what could go wrong?
<amz3`>cmaloney: I ported what react does with sxml instead of jsx https://amirouche.github.io/forward.scm/
<dsmith-work>Anyone have any thoughts on Elm ?
<cmaloney>I remember when mixing templates and code was a bad thing, but it appears we're good at reproducing PHP
<amz3`>cmaloney: pseudo sxml, but you can fix the parser to be 100% sxml compatible
<davexunit>Elm is okay, but it's a brand new language.
<davexunit>that tries to be Haskell, but it's not Haskell
<cmaloney>amz3`: Ah, nice. That's neat.
<davexunit>to me there's nothing that is better than plain ol' Javascript yet
<cmaloney>iirc Elm is more like Erlang / Elixir
<amz3`>dsmith-work: the 'return intent' to avoid side effects at all cost is too much trouble
<davexunit>the static type weenies want their haskell
<cmaloney>Agreed. JavaScript (ES6+) seems to be what I've wanted in the browser all along
<davexunit>but I am a dynamic language fossil
<davexunit>luddite if you will
<daviid>but once we have ijp guile-js ... would that help? such as writing a new 'react' ...?
<amz3`>dsmith-work: if you allows ajax request in the controller, it much more useable IMO
<amz3`>daviid: that's the plan i have at least
<davexunit>guile in the browser sounds cool. the win there is that you have the same language for front and back ends
<dsmith-work>I've been wanting to play with it, but haven't had the time/opportunity
<daviid>amz3` great! let's help ijp ...
<amz3`>daviid: where's the code of guile-js?
<davexunit>which is why I don't like Elm. you're *still* writing in multiple languages for the front and backends
<daviid>davexunit: also, would it be easier to adress security issues? using guile I mean for the all 'chain'
<amz3`>Elm has an incredible reputation, tx to her creator
<amz3`>or his
<amz3`>(its maybe)
<cmaloney>daviid: There's a little more to React than FP (the virtual DOM is the biggie), but yeah, we could finally get the scheme on the browser that we deserve. :)
<davexunit>daviid: I don't know if it would be any easier, but writing just 1 language is an advantage because 1 > 2
<daviid>amz` I don1t know, think ijp likes to get it to a very good and high level of quality before to start to share it ... so we have to wait a signal ...
<davexunit>er
<davexunit>1 < 2
<davexunit>hehe
<amz3`>daviid: not really, but it will help in the road of universal web like hop.js is doing
<amz3`>daviid: IMO, same security issues will exists
<amz3`>daviid: that was my impression too
<amz3`>actually I implemented, the same API in forward.scm that elm use, except dynamic, and it lead to very confusing code
<amz3`>maybe the code is online
<amz3`>no it's not
<amz3`>this project is almost 1 year old