9 ms·
More lines of prose praising lisp are being written than lines of lisp these days it seems. I recently asked how to write a tree shaker in #sbcl because I thou
by gaze 7y ago
More lines of prose praising lisp are being written than lines of lisp these days it seems.
I recently asked how to write a tree shaker in #sbcl because I thought it’d be cool. All I got was a “why would you do that?” and “ok fine your time to waste” and no substantial answers. The Common Lisp community is small and curmudgeonly. Who needs this?
- nickpsecurity 7y agoWith a quick search, I found an example for SBCL below. I can't say anything about its quality cuz I dont do CL. https://gist.github.com/burtonsamograd/f08f561264ff94391300 https://gist.github.com/burtonsamograd/f08f561264ff94391300
- mruts 7y agoYeah they're kind of assholes. Racket has a much nicer community, though.
- gaze 7y agoYeah the racket community is super sweet. What can I say though, I like the Common Lisp experience. Slime/sly are appealing, as is the totally cross sectional view from high level code to machine code. There’s a lot to like. I should give racket a second shot though. I love Chez.
- fiddlerwoaroof 7y agoFWIW, stylewarning in #lisp was offering to pay someone to finish a tree shaker someone had started for sbcl, so it’s not the case that no one is interested in your project.
- fiddlerwoaroof 7y agohttps://twitter.com/stylewarning/status/1052006872587202560?s=20 https://twitter.com/stylewarning/status/1052006872587202560?...
- gaze 7y agoYeah I’ve gotta say that the fact that a new hot startup is embracing lisp is really cool. Kudos to stylewarning.
- lispm 7y agoDWAVE, another company in the larger quantum computing area also has been using Common Lisp. https://cjelupton.wordpress.com/2014/08/14/quantum-computing-and-lisp/ https://cjelupton.wordpress.com/2014/08/14/quantum-computing...
- rayiner 7y agoSome things, like tree shaking, trigger some, in my opinion justifiable, bitterness in the Lisp community. People said Lisp couldn’t take off unless it competed with C for speed and image size. Tons of resources were invested on that front, building tree shakers and type inference engines. Then, JavaScript comes along and proves that none of that was necessary. Individual web pages are as big as some Lisp’s entire core images. The language spec might as well have been written in crayon. While Lisps were developing sophisticated numeric towers, JS does not even distinguishing between integers and floats! Dynamic typing languages won, with a language that was inferior in every way to Lisp, except popularity.
- gaze 7y agoI hadn’t seen it that way, but that completely makes sense.
- debug-desperado 7y agoIt's a bit anachronistic to compare Lisp's goals from 40 years ago to current JS situation. The latter we're stuck with for political reasons, while the former really did need to overcome hardware limitations to be successful in that era. Also with Typescript being adopted by most major JS projects, I wouldn't say that dynamic typing "won."
- lispm 7y agoTree shakers are not written because they 'are cool', but because one wants to deliver small applications with it. But that's not the focus of SBCL development and never was. People can't tell you much about it, because there were only few attempts made in that direction for SBCL. Some Common Lisp implementations have tree shakers - especially the commercial ones. But it's a rarely used tool. See for example: https://github.com/roswell/roswell/blob/master/lisp/dump-sbcl.lisp https://github.com/roswell/roswell/blob/master/lisp/dump-sbc... > Common Lisp community #sbcl is not THE Common Lisp community. Best not to generalize from an IRC channel to a very diverse group of people using a dozen different implementations.
- gaze 7y ago> Tree shakers are not written because they ‘are cool’ Yeah this is all very serious business. Also, one of the most curmudgeonly responses you could have given. > #sbcl is not THE Common Lisp community This is not my sample size of one opinion. I’m just throwing one in the pot for the very widely held opinion of the Common Lisp community being curmudgeonly.
- lispm 7y ago> Yeah this is all very serious business It's work and SBCL is maintained mostly by volunteers, who may have their own agenda. Sometimes there is funding from commercial projects. So far maintaining a treeshaker wasn't high on the agenda, even though the project runs for some years now. If you shell out serious money for your 'very serious business' the commercial implementations Allegro CL and LispWorks provide maintained tree shakers and all kinds of fancy application delivery features. > throwing one in the pot not very motivating... You might check out the link I've gave you above, instead.
- gaze 7y agoI may not have made myself clear. I don’t want someone else to write a tree shaker for me, I want an intro project to understanding the internals of a performant Common Lisp compiler, and I want to do the work to write a tree shaker myself. I’ve seen a few implementations, but they all come with notes explaining that they’re sketchy and experimental. I mostly wanted to know how to push them past that point into being robust.
- neilv 7y agoAll the CL people I've worked with have been amiable. Though, I suppose you could say: what high-powered hacker wouldn't be in a good mood, if they were getting paid to hack Lisp. I don't recall any curmudgeon behavior in-person, but a bit "critical" is often a useful role for an engineer to play, if they can back it up and discuss. A useful mode of engineering discussion involves people making assertions, thinking aloud, and being challenged, and together you improve the ideas and generate new ideas. Sometimes it's appropriate to suddenly look at each other and start jumping up and down and shouting, like you're in a movie, because you've just hit on a solution that has passed your preliminary tests of critical thinking. If you're jumping up and down all the time, I suppose that could turn into incestuous amplification. The Scheme and Racket communities are also good. I've spent the most time in Racket, and have a few ideas about why the community is good: * The original professor (Matthias Felleisen) and grad students were solid PL people who were interested in making CS education more accessible, which seems like a pursuit that would value nurturing and accessibility.[1] When some of the grad students also became professors working with Racket, they kept up accessibility, such as in the main forum (`racket-users` email list / Google Group). (`racket-users` seems to implicitly coordinate, with community members, including the professors, responding to most any question.) * This will sound a bit cynical or funny, but I've seen it change other language communities before: one thing that helps the community be good is that there's no money in it. (Once there's money happening, you'll get more of less-desirable behavior from some individuals and groups: promotion of personal brands, posturing and jockeying for the opportunities, SEO games and huge amounts of Web search hit noise from that, marketing puffery rather than engineering straight-talk, non-sharing, sometimes commercial landgrab games with the platform itself, sunny-sociopath workplace cultures, etc. Not that a community can't be great even when there's money involved, but "really, there's no money in this -- it's only for the merits and community" seems to scare away a lot of behavior, and the people who are attracted anyway set a tone.)[2] * Racket is one of those tools that many hackers really like to use, and people generally have good morale when using it. [1] You also saw this with the SICP professors, who are some of the best-regarded. [2] Not that I haven't tried to promote commercial use of Racket, despite fear of spoiling a good thing. One of my attempts, I tried to do it while shaking up some usual expectations/modes: https://www.neilvandyke.org/racket-money/ https://www.neilvandyke.org/racket-money/