dark

Client, backend, and services for Dark: https://darklang.com (by darklang)

Dark Alternatives

Similar projects and alternatives to dark

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better dark alternative or higher similarity.

Suggest an alternative to dark

Reviews and mentions

Posts with mentions or reviews of dark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-05.
  • Ask HN: What happened to DarkLang?
    1 project | news.ycombinator.com | 5 Jan 2022
    They (https://darklang.com/) generated some hype a while back but never seen them get much attention since then. Anybody used it -- what was your experience like? Are the project and company still under development?
  • Show HN: F# web server in 3-4 lines of code
    8 projects | news.ycombinator.com | 5 Nov 2021
    This is really nice. For comparison, this is what using ASP.NET directly in F# is like:

    https://github.com/darklang/dark/blob/main/fsharp-backend/sr...

  • Do not use AWS CloudFormation
    6 projects | news.ycombinator.com | 6 Oct 2021
    I think this is the motivation for https://darklang.com/, trying to solve a lot of the complexity of infra. That said it’s a huge undertaking.
  • How We Made Bracket Pair Colorization 10,000x Faster
    16 projects | news.ycombinator.com | 29 Sep 2021
    > Constructing or incrementally updating an AST is not cheap. In particular, most ASTs are very fragile and there are characters when inserted at the wrong position invalidate the entire AST (e.g. prepending a C-like document with `/*`). Even prepending documents with `{` could render all nodes of the AST invalid, as they might get a different meaning (a class declaration might now be parsed as block statement).

    I think you have a worldview where text is being edited and ASTs are constantly being replaced via parsing.

    In an AST-based language, it doesn't necessarily have meaning to add some random character at some random spot, in the way that it does with text. With text, you can only recreate the entire AST by parsing, and discover that the parse is broken.

    With an AST-based language (such as https://darklang.com), the editor could inform you that that character cannot be added in that place. Or it could allow you to put it there, informing you that that particular piece of text has no valid meaning, while the rest of the AST is still valid. (Darklang uses both approaches).

    16 projects | news.ycombinator.com | 29 Sep 2021
    My claim - which I am testing with https://darklang.com - is that code being stored as text is a source of significant friction. There are certainly trade-offs, but the value of the non-text representation is under-considered, as is the cost of the text representation.
  • What if Git worked with Programming Languages?
    17 projects | news.ycombinator.com | 27 Sep 2021
    fwiw, this is what we do in Dark [1]. We store (serialized) ASTs, then then we pretty print them in the editor. This converts the AST into tokens that you see on your screen, complete with configurable* indentation, line-length, etc. Code would be displayed according to your config* and the same code displayed differently to a different developer looking at the same code.

    [1] https://darklang.com

    * I haven't actually enabled users to configure this, but it's just some variables called 'indent' and `lineLength` in the code

  • What areas in Compilers have scope for improvements and are a focus of contemporary research and development?
    1 project | reddit.com/r/Compilers | 24 Sep 2021
    There are a handful of start-ups doing commercial language development, but it's mostly on the tooling side, not on the language side. This one comes to mind: https://darklang.com/
  • Show HN: Time Travel Debugger
    10 projects | news.ycombinator.com | 15 Sep 2021
  • Looking for a tool to create a database, CRUD and Rest API at the same time
    1 project | reddit.com/r/softwaredevelopment | 10 Aug 2021
    Was it dark? https://darklang.com/
  • Fullstack Elm with Lamdera
    1 project | news.ycombinator.com | 26 Jul 2021
    Lamdera might be the best incarnation of "isomorphic" code I've had an experience with. Game logic shared in both frontend and backend (of course, backend has to validate everything as somebody could spoof the WebSocket connection), not going out of sync, types reused.

    Also, one of two best experiences I've had with backends (I'm a frontend person): the second one was Dark language (http://darklang.com)

  • Why Aren't There More Programming Languages Startups?
    5 projects | news.ycombinator.com | 21 Jul 2021
    Some recent programming langue startups that are still around or have come and gone:

    - Dark: https://darklang.com (hibernating, laid off everyone to buy time to find product/market fit)

    - Eve: http://witheve.com (defunct)

    - Luna/Enso: https://enso.org (just rebranded)

    - Unison: https://www.unisonweb.org (hanging in there)

    - Urbit: https://urbit.org (hanging in there)

    That's off the top of my head. I'm surprised an article asking this doesn't mention any of them or analyze how they came to be and where they went.

    The main reason from my perspective is there's not funding. It takes years to build a programming language from scratch, so you need a lot of runway. And it takes a specialized group of developers so they cost a lot of money to hire. The combination of the two means you need a lot of money to get a PL off the ground. Millions of dollars.

    The most likely way to get that kind of money right now is going through VCs, and they aren't going to give you anything for a safer systems language or a JavaScript transpiler. They want to be pitched a world-changing language that will redefine the computing landscape as we know it, and bring billions of people into the programming world. You might notice that as a common denominator among some of the languages I listed above.

    But this is a research problem with an uncertain time horizon and unknown feasibility. It could take a decade more to complete such a task, but it's very unlikely you're going to get a decade worth of funding from VCs. You'll probably get 3-5 years, and at the end of that you'll need to have something tangible that can get you follow-on funding to continue your work. But that means your original pitch of revolutionizing the computing landscape by democratizing programming gets downgraded to making an incremental change that increases some productivity for developers.

    Anyway, there are ways to get around this, but it likely means your company won't be a "startup" in the HN VC-funded sense. See Unison which is developed under public benefit corp. Andrew Kelley has managed to bootstrap Zip using user support and now corporate support. Urbit had an ICO and sells digital real estate.

  • We’re the Microsoft Office Scripts and Power Automate teams – Ask us Anything (and come celebrate Office Scripts GA with us)!
    2 projects | reddit.com/r/excel | 11 Jun 2021
    Great comment mate. This reminds me a lot of what the folks at darklang are doing and I've dabbled with a few times so is definitely a valid use case.
  • Are there some simple functionally programmed code bases on github/gitlab that I can read in a few hours to see why functional programming is cool
    1 project | reddit.com/r/AskProgramming | 25 Apr 2021
    The Dark source comes to mind as a large functional code base: https://github.com/darklang/dark/ It's written in OCaml and is being moved to F#, both functional languages. (And it implements the Dark online IDE and functional language.)
  • The unreasonable effectiveness of print debugging
    6 projects | news.ycombinator.com | 24 Apr 2021
    Both suck. With a debugger, you need to set up a debugger and step through (and often, they don't work quite as well as you hope). With print debugging, you need to add the print statements.

    In both, you can't retroactively debug already executed code.

    This is one of the areas where I'm really proud of what we did in Dark. In Dark (https://darklang.com), all execution is traced and you can see the value of any expression on any trace by putting your cursor in the expression. Advantages:

    - no struggle to reproduce the error

  • Software Infrastructure 2.0: A Wishlist
    4 projects | news.ycombinator.com | 19 Apr 2021
    So I'm creating something that's exactly like the author is describing: https://darklang.com

    He's right that there's no reason that things shouldn't be fully Serverless, and have instant deployment. These are key parts of the design of Dark that I think no one else has managed to solve in any meaningful way. (I'll concede that we haven't solved a lot of other problems had still need to be solved to be usable and delightful though).

Stats

Basic dark repo stats
18
949
10.0
4 days ago

darklang/dark is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.