//
sign in
Profile
by @danabra.mov
Profile
by @dansshadow.bsky.social
Profile
by @jimpick.com
AviHandle
by @danabra.mov
AviHandle
by @dansshadow.bsky.social
AviHandle
by @katherine.computer
EventsList
by @katherine.computer
ProfileHeader
by @dansshadow.bsky.social
ProfileHeader
by @danabra.mov
ProfileMedia
by @danabra.mov
ProfilePlays
by @danabra.mov
ProfilePosts
by @danabra.mov
ProfilePosts
by @dansshadow.bsky.social
ProfileReplies
by @danabra.mov
Record
by @atsui.org
Skircle
by @danabra.mov
StreamPlacePlaylist
by @katherine.computer
+ new component
ProfileReplies









Loading...
I think you're missing the point. The recommended solution is to embrace zero values. Your example doesn't need pointers, just 2 string fields (lang should probably be a derived string type). Some cases where this distinction matters is with DB (sql.Null) or RPC interaction.
About halfway through the refactor I think, so hard to tell at the moment if I'll need to adjust some of my decisions and if it will be a performance win overall. Especially uncertain if should be passing and storing the node wrappers as value or reference.
Yeah, first step I created elaborate benchmarking suite for the compiler. Did run into some points of friction. Realised I still need statement vs expression distiction, and expr wrapper should also store type kind. Also, still needed data field to be an interface, to get the type and name.
I missed this talk, thanks for sharing! I'll have to try this approach for my hobby language.
Interesting. What is the advantage of this approach versus making Node an interface and letting all node types implement Node? Which is what go/ast does.
Agreed. It's a nice project with a good free tier. First DB I would recommend people for personal projects where you need persistence and don't want to deal with DB hosting yourself.
That wasn't my premise, it was the premise of the comment I replied to. I would also rather have had both.