Any sufficiently complicated Lisp implementation* contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of M-expressions. *With the exception of Wolfram Language
@fatboyzzfatboyzz740715 күн бұрын
How about adding one extra space like ")) )". - ")" before space close "(" from current line. - ")" after space close ")" from previous line. (𝚍𝚎𝚏𝚒𝚗𝚎 (𝚌𝚘𝚗𝚌𝚊𝚝𝚎𝚗𝚊𝚝𝚒𝚘𝚗 𝚒𝚗) (𝚕𝚎𝚝 ([𝚊𝚌𝚌 ""]) (𝚏𝚘𝚛 ([𝚒 𝚒𝚗]) (𝚜𝚎𝚝! 𝚊𝚌𝚌 (𝚏𝚘𝚛𝚖𝚊𝚝 "~𝚊~𝚊" 𝚊𝚌𝚌 𝚒)) ) 𝚊𝚌𝚌))
@woolion22 күн бұрын
The future looks awfully safe! For real, it's shocking how little the non-determinism issue is discussed.
@hythloday.spector29 күн бұрын
Sounds like Erlang, isn't it?
@mlliarmАй бұрын
Loved it, thanks !
@davidkrentzlin16632 ай бұрын
The speaking style, ugh, took, ugh, away from the content unfortunately.
@StephenSmith-xyz2 ай бұрын
Curious what you didn't like? I found it to be very natural and humourous. But everyone is entitled to their own opinion for sure!
@JoePep-b6w2 ай бұрын
I was also touched by the tribute they paid to Seymour Papert & Marvin Minsky. The world of programming, AI and computational thinking does indeed owe a whole lot to those two, not forgetting John MacCarthy too.
@JoePep-b6w2 ай бұрын
This is awesome, The organizers of RacketCon did a super wonderful job. And I am so surprised that even at this age these two gurus do not only remain extremely clear about the fundamental ideas of programming but that they are also so current about what ever is going on and also so lucid. It is really an honour to see such legends alive and well and still contributing great ideas.
@maccsguitar2 ай бұрын
Lambda was absolutely nonsensical for me as a beginner and it was even tedious to write. Function would be even worse to write, but at least it would make sense. Symbol fn would be even better, as functions are so central and used everywhere. Even the mathematician who invented chose lambda arbitrarily. I think we should optimize for semantics and not history. 'Lambda-functions' makes it sound like a very different thing to other functions and methods and even many intermediate programmers avoid the subject because they don't know what 'lambda' means, when it hasn't meant anything from the beginning!
@allanschougaard37012 ай бұрын
"used everywhere" Everywhere is a big place. Where do you mean?
@maccsguitar2 ай бұрын
@@allanschougaard3701Racket is the subject in the video, so I was referring to that specifically, though I could mean lispy languages in general. I would say it's pretty rare to not see any lambdas in any given random racket/scheme/lisp file.
@allanschougaard37012 ай бұрын
@@maccsguitar Where lambda enters the picture: kzbin.info/www/bejne/rH6neaOGg8SjZpofeature=shared&t=255
@allanschougaard37012 ай бұрын
"Symbol fn would be even better" how so?
@maccsguitar2 ай бұрын
@@allanschougaard3701 Church selected lambda and went on to formulate lambda-calculus. He could have used "hat" and the name could have been something else. That's history, but in current programming languages it is customary to call them functions. Lambdas, hats or other could-be-churchisms seem unnecessary now that we have renamed the concept in this field and operate by different semantics than lambda-calculus. Functions in programming languages don't operate by replacement as lambda-calculus does. As for why fn would be better in my opinion, it is shorter to write and refers to the concept of functions. Shorter format optimizes for experts who know what it means and have to read and write it every day, while still being an understandable shorthand for the beginner. My experience as a beginner was that I understood the shorthand "defun" immediately to mean "define function", whereas it took me a _year_ to understand that "lambda" is doing almost exactly the same thing. I avoided using it for all that time just because I did not understand the word and what it refers to. By that time, I had been programming in javascript and still hadn't connected the dots that js "function (x) {...}" and lisp "(lambda (x) ...)" are similar. Any of "fn", "fun", "func" or "function" (for example) would have been so much easier to understand and I would have been able to progress much faster.
@ascho-o3x2 ай бұрын
There are in fact already two libraries the implement a HTML like language: rws-html-template and web-server/templates
@replikvltyoutube37272 ай бұрын
Turn lisp into this popular language called java
@faster-than-light-memes2 ай бұрын
It's easy to specify a program that plays chess. It's hard to specify a program that plays good chess.
@generalyoutubewatching52862 ай бұрын
Also MLIR is designed for this.
@laughingvampire75552 ай бұрын
it's all about performance
@usagi-z2 ай бұрын
We call @ a 'monkey'
@ascho-o3x2 ай бұрын
Something with a long tail?
@hi_arav2 ай бұрын
🔥 🔥
@mikedelmonaco61932 ай бұрын
I like the closing paren suggestion, but not because of readability. I think proper indentation makes it obvious enough where the `for` ends and you don't need to worry about which parens match to which. My main reason for liking it is because of git diffs. When you add a new sub-expression to the end of a multi-line expression like a `define` or a `for`, the git diff should be just adding a new line. But since the close parens are no longer on what used to be the last expression, you get a 2-line diff with a modification. It's a small thing, but it makes reading diffs a little slower because it's not always obvious whether the now second-to-last expression actually changed or it's just the closing parens.
@CCcorrodedCrustacean2 ай бұрын
I don't care that much about the other points, but I can't agree more that the indentation style is a pain. I'm pretty sure people who complain about 'too many parentheses' are in fact bothered by not being able to see matching parens immediately. This style also makes it more trouble than it's worth to edit lists of arguments because the first element is on the same line as the head, and the last has all the closing parentheses after it, so they can't be moved or deleted as a line. I also find it annoying that the indentation width varies with the length of the head, which can eat up horizontal space very quicly, leading to wrapped or truncated lines which are a pain to read.
@sillystuff62472 ай бұрын
the dying scala language is "a better java than java"? scala is not even a top 20 language on any major programming language survey/index. no new major apps or companies are built around scala. real-world programmers avoid scala because scala is designed to confuse.
@ascho-o3x2 ай бұрын
Yeah? Well, you know, that's just like your opinion, man.😊
@sillystuff62472 ай бұрын
really hope most racket community members aren't this arrogant. if they are, i won't be exploring racket much longer.
@lockbert992 ай бұрын
I was doing that matching paren style in Emacs Lisp code and I told a co-worker about it (who was not a Lisp user) and he gave me some strong negative reaction. And that included going against the Lisp Gods or something similar. And I have felt guilty about doing it ever since and try and avoid it. Thanks for showing that!
@metalnwood2 ай бұрын
When the topic of indentation with parens comes up, semi frequently, I have to agree based on my experience that it clicks and becomes natural and you get very used to the structure of lisp. So I really don't believe that the messy representation of lisp in the 'prickly' way is required. It may help some people new to the language but assuming that they become proficient they will also become proficient in working with the structure of lisp and they will start to read it more naturally. It will be other areas of lisp that have people leave the language before they are proficient in it, not the parens.
@tgerdin12 ай бұрын
In Sweden @ is known as a cinnamon roll.
@peterkerj73572 ай бұрын
Va?!
@tgerdin12 ай бұрын
@ kanelbulle (iaf i Västerås)
@ascho-o3x2 ай бұрын
@@tgerdin1 snabel-a in Denmark
@billyburton1232 ай бұрын
coming from other languages I agree. Going beyond naming, capital letter class/types make it easy to see what it is at a glance, and I didn't realize how easy matching braces could get in s-expression based languages. Maybe there will be an autoformatter that can do this for you
@apgwoz2 ай бұрын
I can’t imagine a better way to make people ignore the rest of the great points than to bring up a “tabs vs spaces” argument. Closing parentheses location doesn’t matter, but they definitely always belong next to other closing parens. :)
@ascho-o3x2 ай бұрын
Do the location of }s matter?
@apgwoz2 ай бұрын
@ *sigh* - joking or not, if you have to apologize for it ahead of time, it’s probably best not to say it.
@spdegabrielle2 ай бұрын
I like it. I like the proposal.
@spdegabrielle2 ай бұрын
I love unhinged data representations! Great presentation 8:37
@lockbert992 ай бұрын
It looks like make-immutable-string only takes a parameter list of chars? Is that correct?
@jackfirth88902 ай бұрын
Yup, just like make-string. Though that module wasn't the subject of my talk and I have mixed feelings about its existence.
@lockbert992 ай бұрын
@@jackfirth8890 Possibly a dumb question as I am new to Racket, but how do you turn a string literal or mutable string into a immutable string? Or maybe just, how do you initialize an immutable string with a string literal?
@jackfirth88902 ай бұрын
@lockbert99 String literals are already immutable. Also there's the string->immutable-string function.
@strickvl2 ай бұрын
Why was 4o-mini used to generate the script at the start? It's pretty poor at coding..
@campbellhutcheson51622 ай бұрын
I think that there is a strange reaction in the FP community against LLMs when it's obvious that they will replace much of programming and that what we desire in a programming language is going to change. I don't know for certain what we are going to want in future programming languages, but some guesses are that speed and verifiability will matter more and readability and error-avoidance will matter less. And, I think it makes sense for people to talk more about what a language designed for LLMs might look like rather than something else.
@LongFacedBastard2 ай бұрын
It is not at all "obvious" that statistical plagiarism networks will "replace" programming unless you're a college student that's never built anything but has crypto investments
@tahoupt2 ай бұрын
Thanks for these talks! BTW, does anyone happen to know the recording setup? One of the better slide-and -speaker recordings I've seen.
@PanSkordos2 ай бұрын
Timeless! If the computer were to make an exception and allow Hal and Gerry to live forever, they would continue to contribute positively to our world ad infinitum.
@mlliarm2 ай бұрын
I wasn't prepared to see a Unix shell pipe command DSL in a Racket presentation. This is beautiful. Thanks for sharing !
@mikedelmonaco61932 ай бұрын
that ocular-patdown dsl looks pretty cool 😎
@nbme-answers2 ай бұрын
2:59 START
@nathantaylor70262 ай бұрын
In 2009 I showed up to UBC as a new grad student and had the good fortune to TA the very first iteration of 110. Learned a heck of a lot in the process. Over the years I found myself at the front of the classroom and the experience I got from 110 held me in good stead. Cheers, Gregor, Kurt, and Kim!
@iitalics2 ай бұрын
very cool 😎
@3a1462 ай бұрын
Hey, do you mean metalinguistic abstraction?
@deathdoughnut2 ай бұрын
Yeah! Metalinguistic abstraction and language-oriented programming are both terms for more or less the same idea, with slightly different emphases.
@veronikawinters64352 ай бұрын
I love that these dudes are talking about high level concepts and then a bunch of kids come in and teach them how to use a music box heh
@hansu74742 ай бұрын
Seriously, you guys have great minds in front of you and barely ask any interesting question?
@randomsearches3692 ай бұрын
Such a wholesome talk.!
@eternaldoorman52282 ай бұрын
1:05:20 So somebody _did_ invent the food-transfer protocol?
@eternaldoorman52282 ай бұрын
Oh no, it was just a paper roll, not a bread roll.
@eternaldoorman52282 ай бұрын
Reminds me of Thanksgiving in an US Gaol. That was a Food Transfer Protocol!
@mendelovitch2 ай бұрын
There's the Hyper Text Coffee Pot Control Protocol.
@alexanderalejandre2412 ай бұрын
Lovely
@integralyogin2 ай бұрын
Partial list of favorite Wizard Books: Sri Aurobindo - The Life Divine (TLD) [Integral Yoga/Philosophy] Ken Wilber - Kosmic Consciousness or Sex Ecology Spirituality (SES) [Integral Philosophy] Aleister Crowley - Magick (Liber ABA) [Occultism] Abelson, Sussman - Structure and Interpretation of Computer Programs (SICP) [CS] Sri Aurobindo - Savitri [Integral Yoga/Poetry] Sri Ramakrishna - The Gospel of Sri Ramakrishna [Bhakti Yoga (Love-Devotion)] The Mother (Mirra Alfassa) - Collected Works [Philosophy, Religion, Yoga] Tènzin Wangyal Rinpoché - The Tibetan Yogas Of Dream And Sleep [Tibetan Buddhism, Dream Yoga] this talk was brilliant and reveals much Blessings
@laxmanneupane17392 ай бұрын
Lmaao.
@callmesun.71262 ай бұрын
Sussman sounds like he is going to buy a shrimp boat and play ping pong against the Chinese with Scheme. Glad to see him.
@AyuPapaBonanza2 ай бұрын
Just wow!
@LynnWhirley2 ай бұрын
Great video! You made complex topics easy to understand, well done! Curious to dive deeper? Feel free to check out my bio! Thanks for the video, I'll be watching for more updates!
@JasonCunliffe3 ай бұрын
03:53 >>> START *Douglas Crockford*
@krazeemonkee3 ай бұрын
please, please, please, does anyone know the name of the font/type-face in the splash screen *edit* and also bottom left corner for entire video 😅 *edit*?? "ninth racketcon" ~ that's the simula font which was also used in an ad campaign for arc browser but i haven't been able to find its name! 🙏🏽 i'd greatly appreciate any leads at all! blessings ✨