tinycc VS Inline-Perl5

Compare tinycc vs Inline-Perl5 and see what are their differences.

tinycc

Unofficial mirror of mob development branch (by TinyCC)

Inline-Perl5

Use Perl 5 code in a Raku program (by niner)
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
tinycc Inline-Perl5
15 7
1,817 92
2.8% -
8.8 0.0
6 days ago over 1 year ago
C Raku
GNU Lesser General Public License v3.0 only Artistic 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.

tinycc

Posts with mentions or reviews of tinycc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-03.
  • Autoconf makes me think we stopped evolving too soon
    8 projects | news.ycombinator.com | 3 Apr 2024
    A better solution is just to write a plain ass shell script that tests if various C snippets compile.

    https://github.com/oilshell/oil/blob/master/configure

    https://github.com/oilshell/oil/blob/master/build/detect-pwe...

    Not an unholy mix of m4, shell, and C, all in the same file.

    ---

    These are the same style as a the configure scripts that Fabrice Bellard wrote for tcc and QEMU.

    They are plain ass shell scripts, because he actually understands the code he writes.

    https://github.com/qemu/qemu/blob/master/configure

    https://github.com/TinyCC/tinycc/blob/mob/configure

    OCaml’s configure script is also “normal”.

    You don’t have to copy and paste thousands of lines of GNU stuff that you don’t understand.

    (copy of lobste.rs comment)

  • AST vs. Bytecode: Interpreters in the Age of Meta-Compilation [pdf]
    1 project | news.ycombinator.com | 15 Aug 2023
    I can highly recommend libtcc (https://github.com/TinyCC/tinycc.git) for this kind of thing. I recently ported the code developed in linux on an ARM chromebook to a generic windows box in 20 minutes.
  • Are there faster alternatives to GCC and Clang for C?
    2 projects | /r/Compilers | 5 Apr 2023
  • Offensive Nim
    8 projects | news.ycombinator.com | 1 Jan 2023
    I think it's a pretty nice prog.lang. You may be very happy. Though nothing is perfect, there is much to recommend it. By now I've written over 150 command-line tools with https://github.com/c-blake/cligen . A few are at https://github.com/c-blake/bu or https://github.com/c-blake/nio (screw 1970s COBOL-esque SQL) or in their own repos.

    If it helps, I like to use the "mob branch" [0] of TinyCC/tcc [1] for really fast builds in debugging mode, but this may only work if you toss `@if tcc: mm:markAndSweep @end` or similar in your nim.cfg. Then I have a little `@if r: ...` so I can say `nim c -d:r foo` for a release build with gcc/whatever.

    [0] https://repo.or.cz/w/tinycc.git

    [1] https://en.wikipedia.org/wiki/Tiny_C_Compiler

  • Bringing a dynamic environment to C: My linker project
    3 projects | news.ycombinator.com | 28 Oct 2022
    I have found the libtcc from https://github.com/TinyCC/tinycc to be absolutely fantastic. I'm using it to instantaneously compile the C output from my hobby language to create a repl. Once I had the compiler in good shape it allowed me to create a 100% compatible interpreter for (basically) free.

    The libtcc API is minimal. For my needs that has been 100% sufficient and a pleasure to work with.

  • tcc on RasPi, func pointers to standard functions are nil
    1 project | /r/C_Programming | 12 Feb 2022
    The latest version that people are working with can be found on the 'mob' branch at https://repo.or.cz/w/tinycc.git
  • Optimizing GoAWK with a bytecode compiler and virtual machine
    4 projects | news.ycombinator.com | 3 Feb 2022
    Instead of interpreters, if one has less of a "must be a full featured prog.lang" mentality and a fast compiler like Go or Nim [1] (or is willing to wait, for slow optimizing compiles to apply against big data sets) then an end-to-end simpler design for "one-liners" (or similarly simple programs) is the whole program generator. Maybe "big IFs", but also maybe not.

    To back up my simplicity claim, consider rp [2] -- like 60 non-comment/import/signature lines of code for the generator. Generated programs are even smaller. But, you can deploy gcc or clang or whatever against them and make fast libraries in the host language.

    Why, if you are willing to write those little generation command options in C99 then you can compile the harness with tcc [3] in about 1 millisecond which is faster than most interpreter start-up times - byte code or otherwise - and can link against gcc -O3 (or whatever) helper libraries.

    Anyway, I only write this because in my experience few people realize how much development cost they buy into when then insist on a full featured prog.lang, not to criticize Ben's work. You also make users need to learn quirks of that new language instead of the quirks of a "harness" which may be fewer.

    [1] https://forum.nim-lang.org/

    [2] https://github.com/c-blake/cligen/blob/master/examples/rp.ni...

    [3] https://repo.or.cz/w/tinycc.git

  • What's the best portfolio project that you have ever seen?
    1 project | /r/cscareerquestions | 14 Dec 2021
  • CHICKEN 5.3.0 has been released
    1 project | /r/scheme | 21 Nov 2021
    I think it is. At least there have been some recent activity in https://repo.or.cz/w/tinycc.git
  • Cwerg - an opinionated, light-weight compiler backend
    3 projects | /r/ProgrammingLanguages | 5 Jul 2021

Inline-Perl5

Posts with mentions or reviews of Inline-Perl5. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-26.
  • Help needed: Inline::Perl5 not working even on a sample from its documentation
    1 project | /r/rakulang | 21 Dec 2022
    Verbatim from the documentation at https://github.com/niner/Inline-Perl5: use Inline::Perl5;
  • What Happened to Perl 7?
    8 projects | news.ycombinator.com | 26 May 2022
    > Perl 6 was treated as the successor of Perl 5 -- and that was the mistake. It meant Perl 5 started dying,

    Perl 6 took a long time to make, but how much did that matter? What was Perl going to do about Rails, Clojure, Go, Rust, JS/TS, and more? The world of programming languages used to be a lot smaller than it is today.

    > Perl 6 had a new different syntax.

    Inline::Perl5 [3] allows running legacy Perl 5 code in Perl 6 codebases.

    [1]: https://docs.raku.org/language/5to6-nutshell#Regular_express...

    [2]: https://github.com/atweiden/voidvault

    [3]: https://github.com/niner/Inline-Perl5

  • OpenBSD for webserver?
    1 project | /r/openbsd | 9 Sep 2021
    Perl can be faster and defiantly nicer to work with than PHP but it's nowhere near as fast as some other options like Rust but that has the downside of being much harder to write and get working. Perl has the advantage of being prepackaged with the base system and on OpenBSD it's kept up fairly well with the system version currently being only one version behind the latest yearly Perl release. There are some patches added to the OpenBSD version so updating it each year takes time. The easiest way that I've found for running Perl websites is to leave the system modules as is and to install all of the modules that you need into a users home directory with local::lib and cpanm. That way the system install isn't contaminated with the extra modules and it makes deploying easy because it's all contained in one users home directory that can be rsync'd or tar'd. Another nice thing is you get access to pledge and unveil through Perl so you can lock down your website even further. I've recently been trying out doing things in Raku (Perl6 was renamed to Raku in 2019). It's slower than Perl most of the time but I find Raku to be so much more beautiful and expressive that it's a joy to code with. There aren't as many modules available right now for Raku but it gives you access to all of CPAN through the Inline::Perl5 module.
  • Is there any interest in a Raku implementation of Mojolicious ?
    1 project | /r/perl | 25 Aug 2021
  • Raku: features, community and main interpreter/VM
    7 projects | dev.to | 19 Aug 2021
    Interfacing with Perl 5 with Inline::Perl5:
  • The Future of Perl
    2 projects | news.ycombinator.com | 24 Mar 2021
    I'll be happy to dialog about this compatibility, but the key thing is to start with an open mind; a recognition that the original vision predated Parrot; and a recognition that Rakoons have never relinquished that original vision even while many of us are delighted that Perl folk are keeping Perl healthy as a separate thing in its own right.

    To be clear, the realization of Larry's original vision is not constrained to interop with Perl. Raku has extraordinary potential, some already realized, for pan-language compatibility via its [Inlines](https://modules.raku.org/search/?q=inline).

    The steady improvement of [the exemplar Inline](https://github.com/niner/Inline-Perl5) for the last 6 years; its evident maturing; its suitability as a solid blueprint for upgrading all the others; all of this bodes well for being able to use a lot of the world's best existing code from within Raku this decade, with Inline::Python quite plausibly shining in this regard within the next 2-3 years.

    [1] https://stackoverflow.com/a/45181464/1077672

  • How C++ supports the whole C's library and how I could do the same if I created a language?
    2 projects | /r/ProgrammingLanguages | 22 Dec 2020
    The most polished of the Inlines, namely Inline::Perl5 (github repo) enables devs to instantiate Raku objects that are instances of Raku classes that are sub-classes of Perl classes. It does this even though Perl has pluggable OO, essentially arbitrary OO, with dozens of different OO systems available, all of which differ from Raku's, for example having a variety of MRO linearizations that aren't C3. So such things can be done.

What are some alternatives?

When comparing tinycc and Inline-Perl5 you can also consider the following projects:

Cwerg - The best C-like language that can be implemented in 10kLOC.

MoarVM - A VM with adaptive optimization and JIT compilation, built for Rakudo

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

Corinna - Corinna - Bring Modern OO to the Core of Perl

pvsneslib - PVSnesLib : A small, open and free development kit for the Nintendo SNES

Sparrow6 - Raku Automation Framework

c2nim - c2nim is a tool to translate Ansi C code to Nim. The output is human-readable Nim code that is meant to be tweaked by hand before and after the translation process.

Raku-Steering-Council - RSC Papers

nimterop - Nimterop is a Nim package that aims to make C/C++ interop seamless

rakudo - 🦋 Rakudo – Raku on MoarVM, JVM, and JS

cligen - Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at

nqp - NQP