magrittr
Pluto.jl
magrittr | Pluto.jl | |
---|---|---|
10 | 78 | |
951 | 4,880 | |
0.0% | - | |
2.3 | 9.5 | |
about 1 year ago | 3 days ago | |
R | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
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.
magrittr
- This is not a pipe - René Magritte
-
Six programming languages Iâd like to see
R (yes, the statistics language) has exactly this.
You can literally extract the body of a function as a list of "call" objects (which are themselves just dressed-up lists of symbols), inject/delete/modify individual statements, and then re-cast your new list to a new function object.
I don't know why the original devs thought this was necessary or even desirable in a statistics package, but it turns out to be a lot of fun to program with. It has also made possible a wide variety of clever and elegant custom syntaxes, such as a pipe infix operator implemented as a 3rd-party library without any custom language extensions [0]. The pipe infix operator got so popular that it was eventually made part of the language core syntax in version 4.1 [1].
[0]: https://magrittr.tidyverse.org/
[1]: https://www.r-bloggers.com/2021/05/the-new-r-pipe/
- Hadley is pro- base pipe.
-
Functional pipes in python like %>% from R's magrittr
In R (thanks to magrittr) you can now perform operations with a more functional piping syntax via %>%. This means that instead of coding this:
-
Question about dot notation
Try reading the documentation for magrittr.
-
When did WG21 decide this is what networking looks like?
Related note: the statistical programming language R has a library named magrittr to support the pipe operator.
-
How can I find the data entry of the row after one found?
About the pipe (%>%) symbol, it's provided by the magrittr package. The package documentation details how to use the pipe operator.
-
Best practice for chaining nested functions?
I was wondering what some good ways are to handle nested function calls without chaining them in long, ugly nested statements. I am looking for functionality similar to the pipe forward operator %>% in magrittr/R or |> in F#.
-
I much prefer `data.action()` to `action(data). Is it an r/unpopularopinion?
You may like R: https://magrittr.tidyverse.org
-
What's so "tidy" about tidyverse?
Agreed on everything else you said (especially the type safety stuff, it massively helps in production), but one correction: magrittr is absolutely in the tidyverse suite. It's not considered one of its "core" packages that it visibly tells you it loads, but magrittr is loaded when calling library(tidyverse) and development of the package is handled by the tidyverse team under their Github account: https://github.com/tidyverse/magrittr
Pluto.jl
-
Potential of the Julia programming language for high energy physics computing
I thought that notebook based development and package based development were diametrically opposed in the past, but Pluto.jl notebooks have changed my mind about this.
A Pluto.jl notebook is a human readable Julia source file. The Pluto.jl package is itself developed via Pluto.jl notebooks.
https://github.com/fonsp/Pluto.jl
Also, the VSCode Julia plugin tooling has really expanded in functionality and usability for me in the past year. The integrated debugging took some work to setup, but is fast enough to drop into a local frame.
https://code.visualstudio.com/docs/languages/julia
Julia is the first language I have achieved full life cycle integration between exploratory code to sharable package. It even runs quite well on my Android. 2023 is the first year I was able to solve a differential equation or render a 3D surface from a calculated mesh with the hardware in my pocket.
- Pluto.jl: Simple, reactive programming environment for Julia
-
Ask HN: Why don't other languages have Jupyter style notebooks?
Re Julia there is also pluto.jl that is another notebook-like environment for julia. It's been a few years since I played with it but it looked cool, for example it handles state differently so you don't get into the same messes as with ipython notebooks. https://plutojl.org/
- Pluto: Simple Reactive Notebooks for Julia
-
Looking for a Julia gui framework with a demo like EGUI
For this, Notebooks are often used. Julia offers a uniquely nice and interactive Pluto notebook for the web https://github.com/fonsp/Pluto.jl
- Excel Labs, a Microsoft Garage Project
-
IPyflow: Reactive Python Notebooks in Jupyter(Lab)
I believe this is what Pluto sets out to do for Julia.
I used it as part of the âComputational Thinkingâ with Julia course a year or two back. Even then the beta software was very good and some of the demos the Pluto dev showed were nothing short of amazing
https://plutojl.org/
- For Julia is there some thing like VSCode's python interactive window?
-
What have you "washed your hands of" in Python?
I think what you want is Pluto!
-
Show HN: Out of order execution in Jupyter notebooks is a solved problem
I like how Pluto.jl handles this:
> Pluto offers an environment where changed code takes effect instantly and where deleted code leaves no trace. Unlike Jupyter or Matlab, there is no mutable workspace, but rather, an important guarantee:
> At any instant, the program state is completely described by the code you see.
[1] https://github.com/fonsp/Pluto.jl
What are some alternatives?
dplyr - dplyr: A grammar of data manipulation
vim-slime - A vim plugin to give you some slime. (Emacs)
scenebuilder - Scene Builder is a visual, drag 'n' drop, layout tool for designing JavaFX application user interfaces.
rmarkdown - Dynamic Documents for R
kitten - A statically typed concatenative systems programming language.
Weave.jl - Scientific reports/literate programming for Julia
power-fx-host-samples - Samples for hosting Power Fx engine.
Dash.jl - Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.
libuv-tutorial - http://nikhilm.github.io/uvbook/
IJulia.jl - Julia kernel for Jupyter
ggplot2 - An implementation of the Grammar of Graphics in R
Tables.jl - An interface for tables in Julia