HackerTrans
トップ新着トレンドコメント過去質問紹介求人

Martinsos

no profile record

投稿

[untitled]

1 ポイント·投稿者 Martinsos·29 日前·0 コメント

[untitled]

1 ポイント·投稿者 Martinsos·2 か月前·0 コメント

[untitled]

1 ポイント·投稿者 Martinsos·2 か月前·0 コメント

[untitled]

1 ポイント·投稿者 Martinsos·2 か月前·0 コメント

Open Vibe: agent tutors you as you vibe code your SaaS app

wasp.sh
3 ポイント·投稿者 Martinsos·2 か月前·0 コメント

I moved my blog from Jekyll to Emacs Lisp

martinsos.com
28 ポイント·投稿者 Martinsos·2 か月前·3 コメント

Comparison of two frameworks: 4.0M vs. 2.5M tokens for the same app

wasp.sh
2 ポイント·投稿者 Martinsos·4 か月前·4 コメント

コメント

Martinsos
·19 日前·議論
In a meta way, this blog post itself is example of that: sounds obvious that blogging can just be stating the obvious, but I still enjoyed reading it, and it served as a good reminder. I guess part of what makes it feel good is confirmation bias, but it can also be nice to read something that confirms your beliefs especially if the other side(s) are very loud online. I would also add that it is just expressing oneself, and therefore it is ok for it to be non-original thought: you are not publishing a scientific article, you are expressing your opinion, adding to the general discourse online, making your voice be heard, and also just capturing your thoughts into something concrete.
Martinsos
·29 日前·議論
Hey all, Martin here, co-founder of Wasp, a batteries-included full-stack JS/TS framework!

A unique thing about Wasp is that we built it around the central "specification" language (DSL) that lets you express the high-level of your app, for which we wrote our own compiler and language server in Haskell. You write 90% of logic in popular web tech (React, Node.js, Prisma), but specify the "full-stack" part of it in the DSL.

While we loved the idea of a custom language for optimal ergonomics and declarative nature of it, and had great time building it, we realized with time how hard it is to develop all the tooling around it while also building the framework, and also started getting constrained by its simplicity for some of the new ideas we have developed through time, of where we wanted to take Wasp.

So, 5 years since the start (wow feels like 2y), we made a big change: we replaced our custom DSL with the eDSL (embedded DSL, a library) in TypeScript!

So Wasp still has its spec(ification), stack-agnostic and standalone (runtime), but now you write it in TypeScript, with all the Turing-complete and side-effect goodiness, which allows things like splitting spec into multiple files, writing helpers, checking env vars, implementing your own file-based routing if you want, ... . And, also enables a lot of exciting stuff we plan to build upon it, like extensible spec, and full-stack modules.

For the full-story, please check out the attached blog post I wrote, and I am happy to answer any questions here!
Martinsos
·2 か月前·議論
Glad to hear, let me know if you will have any feedback :)!
Martinsos
·2 か月前·議論
I started working on this a couple of months ago in the spare time and have finally gotten it to the state where I am ready to pronounce it done! It was great fun and I love the result, I hope you find it interesting. Would also love any feedback on what I could do better. Thanks!
Martinsos
·4 か月前·議論
Martin from Wasp here -> you are right that we kind of went overly into DSL, we are actually switching it to TS at the moment (experimental version already out for some time but now making it the main way to use Wasp), but not because of the AI, instead because we found it was too hard to maintain and develop. We thought custom ergonomics of it will be worth it, but turned out we didn't get much on that side, while we lost a lot by not using existing ecosystem of well known language.

Btw, AI actually works great for it. I am sure part is that the Wasp's DSL exists for some time now, but it actually worked well for the very start, because the DSL was quite simple (similar to JSON) and AI knows how to generalize very well.

So I wouldn't discourage people from writing DSLs because of AI -> AI can understand them very well -> but for the reasons of missing out on all of the benefits of using a strong host language and doing it as an embedded DSL in it. If you are doing your own, completely standalone DSL, you will need to implement a compiler, editor extensions, LSP, maybe module system if you need it, maybe package system/manager if you need it, ... . Although when I think about it, that is also easier now with AI, than it was before! Hm yeah actually maybe custom DSLs are a good idea these days, with AI doing most of the job for you. I still wouldn't go back to custom DSL for Wasp however because biggest thing for us is probably familiarity -> custom DSL just scares people off.
Martinsos
·5 か月前·議論
Shilling a bit but maybe check out wasp.sh, we are conceptually very similar to "Rails for JS"! Just don't tell Claude to completely copy us hehe (pls)