uemacs VS Co-dfns

Compare uemacs vs Co-dfns and see what are their differences.

uemacs

Random version of microemacs with my private modificatons (by torvalds)

Co-dfns

High-performance, Reliable, and Parallel APL (by Co-dfns)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
uemacs Co-dfns
18 21
1,229 719
- 1.1%
0.0 9.5
6 months ago 2 days ago
C APL
- GNU Affero General Public License v3.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.

uemacs

Posts with mentions or reviews of uemacs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-25.

Co-dfns

Posts with mentions or reviews of Co-dfns. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-07-10.
  • Co-Dfns v5.7.0
    2 projects | news.ycombinator.com | 10 Jul 2024
    Huh. This is the commit that introduces the register model: https://github.com/Co-dfns/Co-dfns/commit/f89919144f22441f21...

    In the compiler, it's working with dense adjacency matrix representations, so this will be at best O(n^2) in whatever the relevant sort of node is (expressions? functions?). "at present is not optimized" seems a bit of an understatement here: I've never heard of these sorts of graph algorithms being possible with good asymptotics in an array style. In practice, I think any value of Co-dfns would be more in the fact that it emits GPU code than that it does it quickly, but this calls into question the value of writing it in APL, I would say (for what it's worth, I believe Co-dfns is still not able to compile itself).

    The phrase "allocate all intermediate arrays" seems fairly confusing: what's actually being allocated must be space for the pointers to these arrays and other metadata, not the data of the array itself. As the data is variable-size, it can't be fully planned out at compile time, and I'm fairly sure the register allocation is done when there's not enough shape or type information to even make an attempt at data allocation. This change can only improve constant overhead for primitive calls, and won't be relevant to computations where most of the work is on large arrays. I think it's helpful for Co-dfns in a practical sense, but not too exciting as it only helps with bad cases: if this is important for a user then they'd probably end up with better performance by switching to a statically-typed language when it comes time to optimize.

    Constant lifting within the compiler is pretty cool, I'll have to look into that.

  • Tacit Programming
    3 projects | news.ycombinator.com | 24 Feb 2024
    And if anyone wants an absolute masterclass in tacit programming, have a look at Aaron's Co-dfns compiler. The README has extensive reference material. https://github.com/Co-dfns/Co-dfns/
  • YAML Parser for Dyalog APL
    4 projects | news.ycombinator.com | 8 Jan 2024
  • HVM updates: simplifications, finally runs on GPUs, 80x speedup on RTX 4090
    2 projects | news.ycombinator.com | 7 Oct 2023
    This always seemed like a very interesting project; we need to get to the point where, if things can run in parallel, they must run in parallel to make software more efficient on modern cpu/gpu.

    It won't attract funds, I guess, but it would be far more trivial to make this work with an APL or a Lisp/Scheme. There already is great research for APL[0] and looking at the syntax of HVM-core it seems it is rather easy to knock up a CL DSL. If only there were more hours in a day.

    [0] https://github.com/Co-dfns/Co-dfns

  • Co-Dfns
    1 project | news.ycombinator.com | 31 Mar 2023
  • APL: An Array Oriented Programming Language (2018)
    10 projects | news.ycombinator.com | 30 Mar 2023
    There are many styles of APL, not just due to its long history, but also because APL is somewhat agnostic to architecture paradigms. You can see heavily imperative code with explicit branching all over the place, strongly functional-style with lots of small functions, even object-oriented style.

    However, given the aesthetic that you express, I think you might like https://github.com/Co-dfns/Co-dfns/. This is hands-down my favorite kind of APL, in which the data flow literally follows the linear code flow.

  • Franz Inc. has moved the whole Allegro CL IDE to a browser-based user interface. Incl. all their Lisp development tools. One can check that out with their Allegro CL Express Edition.
    2 projects | /r/Common_Lisp | 27 Mar 2023
    Which is, as far as I know, unused. (Similarly the gpu compiler.)
  • What would make you try a new language?
    8 projects | /r/ProgrammingLanguages | 29 Jan 2023
    You might be familiar with iKe (grahics), SpecialK (GLSL) and Co-dfns. Also, I am working on bastardized APL for GPU – Fluent. Fluent 1 had backend implemented through Apple Metal Performance Shaders Graph and Fluent 2 has TensorFlowJS backend for now. I care more about having auto differentiation in the lang than running on GPU and do graphics, to be honest.
  • APL9 from Outer Space
    1 project | news.ycombinator.com | 30 Nov 2022
    Not that I am aware of. I think the closest project is co-dfns[1] which is being developed by Aaron Hsu (he did a presentation as well). It aims to compile a subset of APL so that it can be executed on GPUs for instance, possibly with other backends. I imagine an XLA backend could be possible there.

    [1] https://github.com/Co-dfns/Co-dfns

  • Who is researching array languages these days?
    5 projects | /r/Compilers | 15 Oct 2022
    Aaron hsu did his dissertation on this topic (compiler, thesis), at indiana university in the us.

What are some alternatives?

When comparing uemacs and Co-dfns you can also consider the following projects:

GNU Emacs - Mirror of GNU Emacs

BQN - An APL-like programming language

chibicc - A small C compiler

micro-editor - A modern and intuitive terminal-based text editor

ngn-apl - An APL interpreter written in JavaScript. Runs in a browser or NodeJS.

nano-ycmd - Modded GNU Nano using ycmd code completion and IntelliSense. The ycmd code completion support for nano is found in the ymcd-code-completion branch.

dex-lang - Research language for array processing in the Haskell/ML family

SubEthaEdit - General purpose plain text editor for macOS. Widely known for its live collaboration feature.

tigerbeetle - A distributed financial accounting database designed for mission critical safety and performance. [Moved to: https://github.com/tigerbeetledb/tigerbeetle]

quickjs - Public repository of the QuickJS Javascript Engine.

april - The APL programming language (a subset thereof) compiling to Common Lisp.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you konow that C is
the 7th most popular programming language
based on number of metions?