On top of all the other horrors, am I the only one seriously bothered by the fact that every dry-run is just a single fat-finger away from deleting all of a customer's data across all of AWS? I know that whenever I design a script to do something as dangerous as this, at the very least the default behavior is for it to do a dry-run so that if you want it to actually go ahead and make the changes you have to pass in an additional argument such as --confirm-deletion; for something this dangerous and apparently irreversible, I would probably also prompt the user to type "IAMSURE" before proceeding.
It is true that the last time I answered that question with, "I put something in their drink every morning to make them more chill," I did not end up landing that job...
Sure, but if someone is more introverted, then, even if they have amazing social skills, they will have a much harder time forming social networks with a lot of reach because it takes more energy for them to do so, whereas it is a lot easier for a more extroverted person to do this.
Yeah, it's like they looked at Go and said, "You know what the real problem was with the lack of generics in Go? They made an exception for lists and maps!"
Except that it is likely to be included in future versions of Fedora:
According to the official Fedora change proposal, the rewrite expands support for both bootc and rpm-ostree based systems, whereas the original Bash version was built only for rpm-ostree. Red Hat developers have submitted a proposal to ship this new Rust version in Fedora 43. According to Phoronix, while the plan still needs a final vote from the Fedora Engineering and Steering Committee, it looks very likely to be approved. For current Fedora IoT users, the change promises to be a simple, seamless upgrade.
A doctrine of Catholicism is that you need good works as well as faith in order to get into Heaven. When Martin Luther broke away and started the Protestant movement, one of the big changes he made was to drop the "good works" part so that faith alone is sufficient to get into Heaven. (As I understand it, the argument behind this is that Jesus saves us from all of our sins already so therefore it does not matter how good or bad we are during our lives as long as we have faith.)
Except that in practice people also indent their code, making the parentheses redundant clutter, especially since the usual convention is to put all of the closing parentheses at the end where it hard to immediately match each one up visually with its corresponding opening parenthesis.
My preference is for the way Haskell handles this, where essentially there is a syntax built on braces and semicolons that you can always fall back on, but most of the time you can just use indentation and it will figure things out just fine via built-in layout rules.
Finally, it seems immediately apparent that this is a type-1 lisp given that there is only one syntax for assigning to symbols and it is used both for functions and for other values.
A different way of stating my remark is that it might be nice to have a page that lists other lisp variants and has a bullet point or two for saying how ArkScript does things differently in a way that someone might find nicer.
I’m no frontend dev, so I battle a lot with it so it displays how I want ; I tried with flex to center vertically the « getting started » section, will have to try again.
Yeah, I remember having to fight similar battles when I created a web page for a similar project! Don't worry about it if it proves too much of a pain.
Given that there are zillions of lisp variants out there, why would someone want to make serious use of this compared to something like Guile Scheme (or one of the other schemes)?
Having said that, the website and branding is really pretty!!! In particular, I absolutely love your usage of color gradients. Some minor feedback is that when the screen is wide, I think that would be nice if the "A small, lisp-inspired, functional scripting language / Get Started" element flowed to the middle relative vertically to the examples column rather than floating at the top. (I do like how it floats above the right column when the screen is narrow, though.)
Also, just to check, do you have a time limit set for the Playground so that people do not over-tax your system? (You might also look into WASM so that people run their scripts locally.)
The borrow checker is a lot deeper than merely making pointer use a bit safer; it provides a model for data ownership based on affine types.
Also, to the extent that "Ada requires the programmer to give enough information to the compiler so as to ensure that it actually outputs what you want it to," if I understand you correctly, that is basically true of every language with a static type system. At the extreme end, we have dependently typed languages which essentially let you express arbitrary mathematical propositions in your types and, if the program compiles, then you know that they will always be satisfied without having to do any checks at runtime.
On top of all the other horrors, am I the only one seriously bothered by the fact that every dry-run is just a single fat-finger away from deleting all of a customer's data across all of AWS? I know that whenever I design a script to do something as dangerous as this, at the very least the default behavior is for it to do a dry-run so that if you want it to actually go ahead and make the changes you have to pass in an additional argument such as
--confirm-deletion; for something this dangerous and apparently irreversible, I would probably also prompt the user to type "IAMSURE" before proceeding.