kuroko VS The-Spiral-Language

Compare kuroko vs The-Spiral-Language and see what are their differences.

kuroko

Dialect of Python with explicit variable declaration and block scoping, with a lightweight and easy-to-embed bytecode compiler and interpreter. (by kuroko-lang)

The-Spiral-Language

Functional language with intensional polymorphism and first-class staging. (by mrakgr)
Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Sonar - Write Clean Python Code. Always.
  • SaaSHub - Software Alternatives and Reviews
kuroko The-Spiral-Language
11 29
330 864
2.1% -
9.6 0.0
about 2 months ago 7 days ago
Python Python
MIT License Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

kuroko

Posts with mentions or reviews of kuroko. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-19.
  • What is your favourite programming language? (other than Scala)
    9 projects | reddit.com/r/scala | 19 Oct 2022
    I would say Kuroko makes more sense ;-P
    9 projects | reddit.com/r/scala | 19 Oct 2022
    Kuroko, it's basically python, but has code block / scope that makes more sense
  • August 2022 monthly "What are you working on?" thread
    21 projects | reddit.com/r/ProgrammingLanguages | 31 Jul 2022
    Kuroko 1.3.0 gets a release candidate. Lots of big things since 1.2.5, like optimized method invocation, more operator overloads, better support for f-string expressions (format specs, =, faster constructions), a long type with my own bigint implementation (this was the last thing I was still regularly opening Python repls for, so a huge personal win). I also fixed a bunch of little things that have been nagging me, like the compiler can now compile expressions directly, which allowed me to remove the kludge that made the repl work previously. The WASM web repl also got some love with a port of the core of Hiwire from Pyodide, giving a very straightforward interface between JS and Kuroko in a browser - and I rebuilt the web IDE on it. I've also been working on a new compiler, which will hopefully form the basis of 2.0 - and this might be the last 1.x release (though I expect at least a few 1.3.x bug fix releases).
  • Announcing: PonyOS 8
    3 projects | reddit.com/r/osdev | 31 Mar 2022
    In case it's not clear, PonyOS is a joke reskin of my serious OS project, ToaruOS. PonyOS gets a new release every April 1st. All of the libraries and applications in ToaruOS are in-house things I built myself - the whole OS is "built from scratch". PonyOS adds ponysay, which is an external app originally written in Python - and in previous releases of PonyOS I shipped the Python version alongside a port of Python 3.6. This release, though, comes with a port to my own language, Kuroko, which is a dialect of Python - a lot of what went into building the PonyOS release this year was getting ponysay to work well.
  • January 2022 monthly "What are you working on?" thread
    15 projects | reddit.com/r/ProgrammingLanguages | 1 Jan 2022
    Did this year's Advent of Code in Kuroko which sussed out some bugs and missing functionality. Better hashing for tuples, more builtins and methods on standard classes for improved compatibility with Python, general build cleanups. In the later problems, most suffering was caused by the GC, so I'd like to put more thought into collection strategies going forward.
  • In search of a Python-like language potentially seen here recently
    3 projects | reddit.com/r/ProgrammingLanguages | 29 May 2021
    Is it me you're looking for?
  • April 2021 monthly "What are you working on?" thread
    22 projects | reddit.com/r/ProgrammingLanguages | 1 Apr 2021

The-Spiral-Language

Posts with mentions or reviews of The-Spiral-Language. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-14.
  • Ask HN: How do I get the most benefit out of my programming language?
    3 projects | news.ycombinator.com | 14 Jan 2023
    I originally started work on [Spiral](https://github.com/mrakgr/The-Spiral-Language) back in late 2016 because I wanted a functional language in which I could program novel AI hardware that hadn't existed at the time, and still doesn't, but it won't be long before it arrives. It took 3 years of full time work to get it to its current standard of quality, and I'd really feel comfortable programming new hardware devices in my favored functional style. I've designed Spiral so it is both extremely powerful, easy to use while being efficient enough to program devices like GPUs that can't even use heap allocation for their objects.

    I am not really concerned about what I'll do when I get access to Tenstorrent chips in six months; my personal needs for the language are met. But I would like it if I could spread the language more broadly, make it useful for people other than myself and get people to sponsor my work on it.

    Here is the value proposition of Spiral.

    It is a high-level functional PL that has some features that other languages don't, but that isn't really the point. On mainstream devices like the x86 ones there are a lot of programming languages that are good, and it would be tedious to use Spiral to compile to such platforms compared to using such languages directly. It is a bit how ReasonML compiles to JS. Back when I tried it I found using Typescript easier to deal with. So that is not where I'd like to go into, though using Spiral would have benefits in certain areas.

    Rather, while reading the [CNX blog](https://www.cnx-software.com/) I realized that while consumer facing AI chips are not here yet, there is a lot of hardware development in the embedded space. They are heterogenous architecture. They have GPU and TPUs in addition to CPUs. And these cross platform interactions within the same system is something that existing languages are really poor at tackling.

    If you look at Python or C#, for example, you can't really program the GPU on them directly. They are CPU focused, and don't have the right semantics and would be too inefficient to program devices like GPUs directly. The way I've designed Spiral is that you can program the CPU and the GPU and whatever else from within the same language.

    It is not suitable for just GPUs, check this [demo out](https://github.com/mrakgr/PIM-Programming-In-Spiral-UPMEM-Demo). I recently did a backend for UPMEM devices, which are the first commercialized Process-In-Memory chips. I've posted the link to this on HN yesterday and on the Reddit embedded sub, but I got zero interest. And this is really a pity because that map kernel I've demoed is actually a big deal. Back when I first started working on Spiral, it took me 1.5 years of full time work to get to the point where I could write a program like that in the language. And without backend nesting of the kind that Spiral offers, it is impossible to write those kinds of programs no matter how skilled one is as a programmer.

    The kind of backend nesting I've demonstrated is not something you can do in F#, Python or any of the languages that I know of. I could easily create such backends for many kinds of hardware. And people would benefit from that because unlike the mainstream computing devices, the hardware coming down the pipeline will have poor language support, nothing on the level of what Spiral offers. For the kinds of heterogeneous architectures I am envisioning, the language designs that are good in the CPU-dominant era, will simply not be suited in the heterogeneous era.

    I need chances to demonstrate how good Spiral is, but I am not sure how to get them. If I do not get them, the future of computing will be a lot worse off. I wasn't there when Cuda was incumbent so I missed the boat on that, but I'd like it if Spiral became dominant on future computing devices. Not because I was the one who made the language, but simply because no other design is as suited for them.

  • September 2022 monthly "What are you working on?" thread
    10 projects | reddit.com/r/ProgrammingLanguages | 1 Sep 2022
    Two months ago I did a ref counted C backend for Spiral so I might as well plug it now. Since then I've gotten tired of 3d art, and decided to just start writing Heaven's Key.
  • Multistage Programming / First Class runtime compiler support
    6 projects | reddit.com/r/ProgrammingLanguages | 19 Aug 2022
    Spiral
  • Are there examples of programming language compilers that evaluate the side-effect free parts of the program at compile-time?
    2 projects | reddit.com/r/ProgrammingLanguages | 14 Aug 2022
    Another term to search for is partial evaluation. An interesting language that by default evaluates everything at compile time is Spiral, developed by someone frequenting this subreddit.
  • June 2022 monthly "What are you working on?" thread
    9 projects | reddit.com/r/ProgrammingLanguages | 1 Jun 2022
    I wrote this as a part of a Twitter chain before realizing just how limiting 140 chars per post are. It will serve as a PL monthly review instead. So far there has been no bites to my posts on the Tenstorrent and Groq Reddit pages, so it does not seem I am likely to get a sponsor for Spiral. At this time, rather than AI chips I'd rather get GPUs to speed up my rendering times.
  • May 2022 monthly "What are you working on?" thread
    15 projects | reddit.com/r/ProgrammingLanguages | 1 May 2022
    If you are a company making or using novel AI hardware, and want to add functional programming to your toolset, consider checking out Spiral and sponsoring a backend for it. Though please, no more GPUs. They were interesting last decade, but they are old now.
  • Why are imperative programs considered faster than their functional counterparts?
    6 projects | reddit.com/r/ProgrammingLanguages | 30 Dec 2021
    If you wanted a fast FP lang you'd need to extend it with partial evaluation features such as in my own Spiral. This does increase the complexity of the language, and runtime benefits have to be paid by doing more work at compile time which increases compilation times.
  • Are there any ML style languages with no runtime?
    4 projects | reddit.com/r/ProgrammingLanguages | 25 Nov 2021
    You could have a ML with ref counting which would meet some of your requirements. I came up with such a design for some of the planned Spiral AI chip backends, but haven't gotten to actually implementing it since I do not have any of aforementioned chips on hand yet.
  • November 2021 monthly "What are you working on?" thread
    13 projects | reddit.com/r/ProgrammingLanguages | 1 Nov 2021
    Right now I am quite pissed off at my old path. I made the Spiral language. I spent years working on it, and studying ML alongside only for ML itself to turn out completely useless. Something as simple as making a decent agent is out of reach without a computing cluster, and all ML 'advancements' are really domain specific tradeoffs whose only purpose is to look good on paper. Keeping up with ML papers is a waste of time. Over the past years I've been switching between being bullish and bearish on backprop, but I think this time I am going to put my foot down and just stay out of ML until neuroscience guys figure out how the brain is actually doing its magic.
  • October 2021 monthly "What are you working on?" thread
    11 projects | reddit.com/r/ProgrammingLanguages | 1 Oct 2021
    So the language work will be put on hiatus until the situation changes, and I'll use its repo as a blog as usual. It sure would be great if some company just sponsored this kind of work. I’ve tried applying, but haven’t gotten any interest. It would be ideal if somebody at these places read my PL sub reviews and sent me an offer.

What are some alternatives?

When comparing kuroko and The-Spiral-Language you can also consider the following projects:

delta - C* is a hybrid low-level/high-level systems programming language focused on performance and productivity.

python-compiler - A Python bytecode compiler written in Python. This repository is now a fork of https://github.com/facebookincubator/python-compiler, upstream is there.

xvm - Ecstasy and XVM

quantleaf-language-documentation - Quantleaf Language Documentation & Examples

Vale - Compiler for the Vale programming language - http://vale.dev/

cish - Go + Generics + Sum Types

aulang - simple and fast scripting language

gaiman - Gaiman: Text based game engine and programming language

lngrs

4l - lisp like looking language

calypso - Calypso is a mostly imperative language with some functional influences that is focused on flexibility and simplicity.

pen - The parallel, concurrent, and functional programming language for scalable software development