BuildYourOwnLisp
swift-evolution
Our great sponsors
BuildYourOwnLisp | swift-evolution | |
---|---|---|
11 | 124 | |
2,812 | 14,989 | |
- | 0.7% | |
3.3 | 9.7 | |
4 months ago | 6 days ago | |
HTML | Markdown | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
BuildYourOwnLisp
-
The Top 10 GitHub Repositories Making Waves 🌊📊
Build Your Own Lisp
-
Ask HN: How to come up with a useful, coding hobby project?
Create your own meta-circular evaluator: https://www.buildyourownlisp.com/
-
Learning c++
I don't know about C++ but there is this incredible course on C by learning to build your own Lisp. https://www.buildyourownlisp.com/
-
A Completely Non-Technical Explanation of Deep Learning
I find the best way to learn technical topics is to build a simplified version of the thing. The trick is to understand the relationship between the high level components without getting lost in the details. This high level understanding then helps inform you when you drill down into specifics.
I think this book is a shining example of that philosophy: https://www.buildyourownlisp.com/. In the book, you implement an extremely bare-bones version of lisp, but it has been invaluable in my career. I found I was able to understand nuanced language features much more quickly because I have a clear model of how programming languages are decomposed into their components.
-
What can you actually do in C?
If you still want to produce a toy project in C I would suggest to build your own LISP ;-)
-
How to grok PL development?
If you're after a lisp, MAL on Github (By kanaka) and https://www.buildyourownlisp.com/ are good.
-
Looking for beginner resources on writing a Lisp from scratch
Build your own Lisp is cool but offloads the language grammar and the parsing to the author's mpc library, this is already way overkill for what I'd like to do.
-
project ideas for sophomore year cs student
Writing a Lisp - https://www.buildyourownlisp.com/
-
Repost from LinkedIn. I found it quite hilarious
Lisps are also a good language if you want to know how languages work. They are very easy to make an interpreter for. There are good tutorials for that at https://github.com/kanaka/mal and https://www.buildyourownlisp.com/.
-
Lisp in 99 lines of C and how to write one yourself [pdf]
Anyone have any input on:
https://www.buildyourownlisp.com/
It's been in my bookmarks for a long time but I've never really had time to really start it. The "who is this for" page say:
"This book is for anyone wanting to learn C, or who has once wondered how to build their own programming language.".
Well, I'm fairly competent in C (but not great) but would like to get a glimpse of what it's like to build my own language. Is it worth the time?
swift-evolution
-
Byte-Sized Swift: Building Tiny Games for the Playdate
[A Vision for Embedded Swift](https://github.com/apple/swift-evolution/blob/main/visions/e...) has the details on this new build mode and is quite interesting.
> Effectively, there will be two bottom layers of Swift, and the lower one, “non-allocating” Embedded Swift, will necessarily be a more restricted compilation mode (e.g. classes will be disallowed as they fundamentally require heap allocations) and likely to be used only in very specialized use cases. “Allocating” Embedded Swift should allow classes and other language facilities that rely on the heap (e.g. indirect enums).
Also, this seems to maybe hint at the Swift runtime eventually being reimplemented in non-allocating Embedded Swift rather than the C++ (?) that it uses now:
> The Swift runtime APIs will be provided as an implementation that’s optimized for small codesize and will be available as a static library in the toolchain for common CPU architectures. Interestingly, it’s possible to write that implementation in “non-allocating” Baremetal Swift.
-
Borrow Checking Without Lifetimes
I may be out of my depth here as I've only casually used Rust, but this seems similar to Swift's proposed lifetime dependencies[1]. They're not in the type system formally so maybe they're closer to poloneius work
[1]: https://github.com/apple/swift-evolution/blob/3055becc53a3c3...
-
Functional Ownership Through Fractional Uniqueness
Swift recently adopted a region-based approach for safe concurrency that builds on Milano et al’s ideas: https://github.com/apple/swift-evolution/blob/main/proposals...
- Swift-evolution/proposals/0373-vars-without-limits-in-result-builders.md
- The Swift proposal that removed the ++ and –- operators (2017)
-
Crafting Self-Evident Code with D
No, it's not. Refcounting CAN be a garbage collection algorithm, but in Swift it's deterministic and done at compile time. Not to mention recently added support for non-copyable types that enforces unique ownership: https://github.com/apple/swift-evolution/blob/main/proposals...
- Statically link Swift runtime libraries by default on supported platforms
- (5.9) What is the point of a SerialExecutor that can silently re-order jobs?
-
Mac shipments grow 10%, as all major PC brands see downturns.
You can stackallocate buffers with unsafe Swift but it's not exactly fun to use. https://github.com/apple/swift-evolution/blob/main/proposals/0322-temporary-buffers.md
-
Can someone explain how Task really works in terms of threads (I couldnt ask all the questions with the swift team today)?
If the docs do not suffice, read the concurrency proposals of Swift Evolution. The authors describe the semantics in a very detailed way there.
What are some alternatives?
lisp-in-go - A Common Lisp-like Lisp-1 in Go with TCO and partially hygienic macros
compose-multiplatform - Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
ulisp-zero - A pared-down version of uLisp for hackers.
foundationdb - FoundationDB - the open source, distributed, transactional key-value store
vocabs2 - C++ implementation of drones simulation with velocity obstacles and wireless system
kotlinx-datetime - KotlinX multiplatform date/time library
lis.py - Small lisp interpreter in Python
okio - A modern I/O library for Android, Java, and Kotlin Multiplatform.
mal - mal - Make a Lisp
PeopleInSpace - Kotlin Multiplatform project with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, Compose for Web and Kotlin/JS + React clients along with Ktor backend.
ComposableRegex - Build out composable regular expressions from simple sub blocks in a BNF type syntax. Check http://composableregex.apphb.com/ for a demo
kotlin-wrappers - Kotlin wrappers for popular JavaScript libraries