#tlang — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #tlang, aggregated by home.social.
-
CW: Seeking guidance on how to organise multiple interrelated #RStats computational science projects for #ReproducibleResearch
I am seeking guidance on how to organise multiple interrelated computational science projects, using #git, #RStats, #quarto, and #targets or #TLang
I intend to carry out multiple, related subprojects over an extended period (years). Each subproject will involve some computational science work programmed in #RStats with the results collected in #quarto notebook(s) and written up in #quarto documents (preprints/papers). This would be orchestrated using the #targets package (https://docs.ropensci.org/targets/) from @landau or possibly #TLang (https://tstats-project.org/index.html) from @brodriguesco .
The computational and data load for each subproject is modest, so I can reasonably run it on my laptop. I want everything I do to be #OpenScience and #ReproducibleResearch.
If the subprojects were completely freestanding I would structure each one as a separate #RStats project with it's own #git repo. Then I would upload that project repo to an archive like Zenodo so it gets it's own DOI.
Things get more complicated by having multiple, related subprojects. There will be some software infrastructure that is shared across subprojects and will evolve over time/subprojects. I think that should be treated as a freestanding #RStats package with a separate project and git repo. The subprojects would load the specific version of the infrastructure that they need.Some of the subprojects *may* import data from other subprojects. Getting the data is not a problem if all the subprojects are children of the same parent directory. The tricky part here is the orchestration (targets or TLang). This suggests to me that all the subprojects should be treated as parts of one overall project for orchestration purposes. But I believe that git repos inside other repos is a bad thing, so should there be only one git repo for the top level project (containing all the subprojects)? If so, how do I archive and publish the subprojects as individual entities?
I intend to have a final subproject that integrates all the other subprojects. Think of it as like a thesis that reports the work done in all the other subprojects. This will *definitely* need to pull results from the other subprojects. Again, how do I structure everything so that each of the subprojects (including the final integrative subproject) can be separately archived and published?
(My interest in TLang as an alternative to targets is because TLang uses Nix to isolate the software configuration of each computational node. Given that the subprojects may be written over years it is quite possible that each subproject will need a different software configuration.)
Any pointers to guidance on how to configure such an extended project would be greatly appreciated.
-
RE: https://rstats.me/@rinpharma/116625184588921628
It was an absolutely thrill to have @brodriguesco join our R/Pharma Hangout!
And I accepted the challenge of creating demos of #rstats {rix} to manage {pharmaverse} packages as well as #tlang to convert an existing {targets} pipeline!
🔗 https://github.com/rinpharma/demo_rix
🔗 https://github.com/rinpharma/demo_t_workflow -
Starting to read Crafting Interpreters by Robert Nystrom @brodriguesco.bsky.social brought this to my attention in preparation for learning how to craft a programming language This language is called T Language #T #TLang #OCaml
-
#tlang is going to be a journey with @brodriguesco.bsky.social i think it’s going to be a fun learning project that will most definitely take a bit of time, it means I’ll have to learn #OCaml and building a language but I’m excited. Crafting interpreters came in the mail yesterday 👍
-
tlang is coming at some point, going to take a bit but my mind has been piqued. #TLang
-
Been working on a package manager for my compiler, so far it's been very fun. Even added some nice bells and whistles by doing a chunk-transfer with `std.net.curl` I can fetch a few chunks, append the retrieved bytes and call some call back (in my case one that updates a progress bar).
-
If no `@return` is present then this is generated
-
TLang document generation, made some great progress in the last two days. Amazing what you can accomplish when you really focus.
-
-
This post was automatically scheduled on the 27th of December at half-past midnight to post 3 months into 2024 - if this is here then it means I made proper progress with the T programming language compiler and I am now very happy about it.
-
Tonight was a brilliant one for me, but in a more solemn sense. I have been working on-and-off when I had time on one of the biggest features for my TLang compiler. This was to add support for multi-module, i.e. the ability to import other modules etc.
The last bug was fixed today 🎇️
-
Vibes - tests pass on #ARM for TLang
-
-
Next task Gustav will be working on is improving the lacklustre mathematical precedence in the `parseExpression()` implantation in the `Parser`
PR: https://deavmi.assigned.network/git/tlang/tlang/issues/155
-
⚡ Feature: Lexer improvements
Running some unittests on the latest code regarding the lexer improvements made by Gustav
PR: https://deavmi.assigned.network/git/tlang/tlang/issues/144
-
Working on #tlang right now. Gustav finished the new lexer last night, so I am just doing documentation and minor clean up here and there.
Ready to merge it in a few days after Christmas. -
I have a few PRs open for #TLang right now, some of them (3) are already done.
I would first like to finish up, with the help of gmeyer, the lexer improvements and then move back to multi-module support and working on that, I may need to first maybe merge the other 2 clean up PRs before I do that so as to make my life potentially a lot easier FOR multi-module code -
Working on some debugging tools to make doing stuff like array dumping neat and easy in #TLang
Doing this in the #niknaks library of mine
-
Contemplating the best way to add multi-module support to #TLang -
-
Holy shiiiiz guys,
structsupport in #TLang now works in the emitter! -
-
Going to really try and push through with a bunch of code on #tlang exclusively this week.
The meta-processor seems to be working well so I may as well steam and ahead and #breakthings. Nice thing is is that the meta-processor can be disabled in the type checker, therefore if something bad arises I can disable it.
-
Implemented rudimentary
sizeof(<type_ident>)support in #TLang, this proves that my meta-processing engine’s new interfaces for doing this sort of AST manipulation work and will work for any other things I want to do involving AST-node replacement -
Been doing some research on my own (by playing around) and I think I may have come up with a reasonable way to do meta-processing (post-processing, for the sake of metaprgramming support, on the AST tree).
And it works!