Replies: 3 comments
-
That's a super fair question and dogfooding is a super important step in making developer tooling better... but I'm a bit afraid of the chicken-and-egg problem for my own dev experience. It's already loopy enough that I'm developing the compiler using the compiler and I often break it and end up editing the generated tl.lua to unbreak it and keep coding... if that ended up breaking the build tool as well that would put me in an even messier place 😆 For that bootstrapping reason I tend to prefer using a plain Makefile for tl itself (also, the Makefile does more than just build it; it builds it then tries to build it again using the built version, and rolls back if the second-level build fails — that's a super-specific-compiler-bootstrap-need which I don't think belongs in Cyan anyway). |
Beta Was this translation helpful? Give feedback.
-
I think that cyan is able to create that same behaviour using pre compile
and post compile scripts. Do a backup in a pre compile script and the
busted and roll back during a post compile script.
Cyan is already compiled to lua so not sure how teal breaking can break
cyan unless you are working on the api used by cyan. But even then using
cyan is a benefit as it means you have to keep cyan updated with any
changes in the api it uses.
Op di 20 dec. 2022 19:47 schreef Hisham Muhammad ***@***.***>:
… That's a super fair question and dogfooding is a super important step in
making developer tooling better... but I'm a bit afraid of the
chicken-and-egg problem for my *own* dev experience. It's already loopy
enough that I'm developing the compiler using the compiler and I often
break it and end up editing the generated tl.lua to unbreak it and keep
coding... if that ended up breaking the build tool as well that would put
me in an even messier place 😆
For that bootstrapping reason I tend to prefer using a plain Makefile for
tl itself (also, the Makefile does more than just build it; it builds it
then tries to build it again using the built version, and rolls back if the
second-level build fails — that's a super-specific-compiler-bootstrap-need
which I don't think belongs in Cyan anyway).
—
Reply to this email directly, view it on GitHub
<#600 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACCKSF6KBWKHE6EAYRAU3W3WOH5MDANCNFSM6AAAAAATEPFOUE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
With Cyan supporting to run scripts at various times during the build process, it sounds like it is possible for tl to use cyan instead of make?
I think that using Cyan would be an improvement as it means that
tl
itself would mimic more closely how teal projects would be liked to setup. It also means that thetl
project would benefit from any improvements tocyan
(for example ifcyan
gets support for getting the correct type definitions files for your dependencies thentl.tl
has a more clear path of adding dependencies than it has right now.)It also means that changes to the build script don't require
make
knowledge but instead requires you to write normal teal/lua code instead.Beta Was this translation helpful? Give feedback.
All reactions