debug-trace-var VS sokol-odin

Compare debug-trace-var vs sokol-odin and see what are their differences.

debug-trace-var

You do not have to write variable names twice in Debug.Trace (by ncaq)

sokol-odin

Odin bindings for the sokol headers (https://github.com/floooh/sokol) (by floooh)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
debug-trace-var sokol-odin
1 4
3 59
- -
0.0 8.9
almost 6 years ago 11 days ago
Haskell C
MIT License -
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.

debug-trace-var

Posts with mentions or reviews of debug-trace-var. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-01.
  • I think Zig is hard but worth it
    9 projects | news.ycombinator.com | 1 Jun 2023
    > Can you give me an example of a Haskell expression which isn't reverentially transparent (without unsafePerformIO)?

    Yes: https://github.com/ncaq/debug-trace-var The trick, however, is not unsafePerformIO (destructive mutability has nothing to do with referential transparency in general) but with TemplateHaskell, as quoting has everything to do with referential transparency.

    > But the bog standard FP definition is a real and useful concept.

    Actually, it's rather tautological. It defines FP circularly (see my comment here: https://news.ycombinator.com/item?id=36152488). It says nothing more than the far more useful explanation: "the meaning of every expression is a value".

sokol-odin

Posts with mentions or reviews of sokol-odin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-01.
  • Odin Programming Language
    23 projects | news.ycombinator.com | 1 Jan 2024
    * etc

    There is also the second issue that C is technically TWO languages: the C programming language and the C preprocessor. People mix the two together and things cannot be easily translated. A good basic example of this is people using `#define` for constants, and thus that name has no semantic meaning in the language itself. A translator has to try and make some semantic meaning from the intersection of these two languages, even if people don't make a distinction when making APIs.

    And Odin's `foreign` system allows [1] for a lot of really nice things that most other languages cannot do so tersely. Here are two examples of demonstrating bindings of C libraries that feel as if they were native Odin libraries WITHOUT any wrappers:

    * https://github.com/floooh/sokol-odin/blob/main/sokol/gfx/gfx... (and the rest)

  • Nim v2.0 Released
    49 projects | news.ycombinator.com | 1 Aug 2023
    I maintain auto-generated bindings for my C libraries for Zig and Nim (and Odin and Rust - although the Rust bindings definitely need some love to make them a lot more idiomatic).

    I think looking at the examples (which is essentially the same code in different languages) gives you a high level idea, but they only scratch the surface when it comes to language features (things like the Zig code not using comptime features):

    Zig: https://github.com/floooh/sokol-zig/tree/master/src/examples

    Nim: https://github.com/floooh/sokol-nim/tree/master/examples

    Odin: https://github.com/floooh/sokol-odin/tree/main/examples

    Rust: https://github.com/floooh/sokol-rust/tree/main/examples

  • I think Zig is hard but worth it
    9 projects | news.ycombinator.com | 1 Jun 2023
    I'm actually dabbling with Odin a bit in the scope of language bindings for the sokol headers:

    https://github.com/floooh/sokol-odin

    It's a very enjoyable language!

  • I like the Odin programming language
    13 projects | news.ycombinator.com | 28 Aug 2022
    I recently wrote a bindings generator to Odin for my C libraries, and the FFI is very well thought out, down to defining things like linker dependencies in the code. For instance see here:

    https://github.com/floooh/sokol-odin/blob/main/sokol/gfx/gfx...

    The only minor downside (compared to Zig) is that Odin still requires a separate C/C++ toolchain to actually build the C dependencies. But I guess that's a typical 1st-world-problem ;)

    (but AFAIK Odins FFI system isn't in any way related or depending on LLVM).

What are some alternatives?

When comparing debug-trace-var and sokol-odin you can also consider the following projects:

print-debugger - Prints lines with IDE friendly stack traces in Haskell.

linux - Linux kernel source tree

Hoed - Hoed - A Lightweight Haskell Tracer and Debugger

wayland - Core Wayland protocol and libraries (mirror)

vacuum

mvb-opencv - Minimum Viable Bindings to OpenCV for Nim

htrace - Hierarchical tracing for debugging lazy evaluation in Haskell

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

hood - Hood debugger, based on the idea of observing functions and structures as they are evaluated.

RFCs - A repository for your Nim proposals.

ap-reflect - Partial evaluation reflection a la simple-reflect.

FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project