I’ve been working on this (not so little anymore) project for some time now, and I’m finally happy with the branding, UX and docs state.

It’s a scripting language I made at first as a toy, to learn new parsing methods, explore compiler optimizations, and go back to VM land where everything is low level and amazing (at least for me) ; it’s now a fully fledged language that can be used as a scripting language like Python or Ruby, and can also be very easily embedded inside a project, as one would do with Lua.

Let me know your thoughts and opinions on the project!

  • atzanteol@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    3 days ago

    Every time i see lisp i realize why it never caught on. A syntax only its creator could love.

    )))))))))))

    • nixfreak@sopuli.xyz
      link
      fedilink
      arrow-up
      0
      ·
      2 days ago

      Honestly once you understand that parentheses actually help you organize your code better, lisp syntax is nice to use. So what lisp version is arklisp? 1 or 2 1 is scheme like and 2 is Common Lisp like.

      • bitcrafter@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        2 days ago

        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.

  • bitcrafter@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    3 days ago

    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.)

    • SuperFola@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 days ago

      Also, just to check, do you have a time limit set for the Playground so that people do not over-tax your system?

      I double-checked, and it seems my timeout command was incorrect. I set it up again (with additional testing), and it now properly kills the container(s) after 20 seconds.

    • SuperFola@programming.devOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 days ago

      Thanks for your comment!

      That’s a tough question, because it often boils down to preferences. I think a beginner developer or even someone fed up with the complexity of modern languages could be interested in the language, as it is very small but still more than usable. Only 9 keywords, no hidden meaning, everything follows the same rules : open a paren, then the first thing is a function call, the rest are arguments. I think the « lisps have too many parentheses » is a false problem only used by trolls. I won’t say that you have to understand the flow or fall into the matrix to use it and avoid the parens, it’s more about having a consistent coding style so that you don’t have to care about the closing parentheses. Plus with a modern editor, parentheses groups have different colors and are easy to match, you can navigate to the starting / closing paren with a keybind (% in vim, command/ctrl M in jetbrains IDE).

      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.

      Yes, there is a time, cpu and memory limit to the playground, no worries! I started the playground about a year ago but only just recently managed to compile to wasm, I’ll see in the future if I can swap the docker integration for it.

      • bitcrafter@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        2 days ago

        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.

        • SuperFola@programming.devOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          13 hours ago

          Thanks for the idea, I’ll try to add a comparison page soon!

          The vertical alignement is now fixed, I got lucky with bootstrap ; it looks way nicer, thanks!