TIL: Tcl-inspired command language on top of D

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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
  • autowrap

    Wrap existing D code for use in other environments such as Python and Excel

  • > Kudos to the TIL's author for trailblazing this idea based on TCL. It will be very beneficial and handy for scripting commands and shell like behaviors.

    Thanks! I love the concept of "scripting" (that is a bit different from simply a "dynamic language"). I'm quite aware it's just "yet another programming language" but if I can dream of something is that it serves as some kind of incentive for people to develop more libraries in D.

    I mean, if you just want to create a Til module that allows you to serve some Web pages using HTTP/2, it shouldn't be that difficult and, at the same time, it could be the end goal itself: just creating a useful module, not something like "it's a crucial part, besides other five, of this big project X I'm working on" (I believe this kind of situation almost always ends with "nah, I'll just use instead").

    > Just wondering is this type based TCL like language similar to Little?

    No, it's not. I first heard about Little a couple months ago and it's a very interesting project. But I don't plan, right now, to include any kind of builtin Tcl compatibility layer in Til (although users are free to create its own implementations, of course).

    > [2] Will it eventually support compilation similar to Emacs Lisp? [3]

    I created the language much more as a tool to learn how to create languages than anything else, but now it's kind of mature enough, I'll confess my dream is to implement JIT compilation, following the steps of LuaJIT (that is an AWESOME project IMHO).

    > Personally I'd love to have superset language in D for data science.

    That would be nice. Having a autowrap-like way of exposing D code to Til would be even nicer. (https://github.com/atilaneves/autowrap)

    > It should be also easily embeddable and support prototyping like Lua.

    I believe embedding it is already in a very tolerable state. If you look into the "interpreter" code you'll see it is only 82 lines (actual 69 LOC).

    (https://github.com/til-lang/til/blob/master/interpreter/sour...)

    And it has a lot of debugging code. Loading a string, parsing it as a "SubProgram" and running it is kind of trivial.

    Now, about the prototyping part, I never thought about it, actually...

    > On top of that it should have excellent support for array, ndarray and dataframe like R [4].

    It's very easy to create new types in Til and they support both "operate" (to apply, you know, operators, like +, -, /, etc) and "extract (to index things or extract information in general from values). I believe it wouldn't be difficult to create a nice module for using these things.

    > Since it is based on D, then it can fulfill the requirements for both type A and B data scientists [5].

    Maybe. But, I don't know... isn't data scientists all over the world happy and satisfied with Python, already?

  • til

    An easy to extend command language (by til-lang)

  • > Kudos to the TIL's author for trailblazing this idea based on TCL. It will be very beneficial and handy for scripting commands and shell like behaviors.

    Thanks! I love the concept of "scripting" (that is a bit different from simply a "dynamic language"). I'm quite aware it's just "yet another programming language" but if I can dream of something is that it serves as some kind of incentive for people to develop more libraries in D.

    I mean, if you just want to create a Til module that allows you to serve some Web pages using HTTP/2, it shouldn't be that difficult and, at the same time, it could be the end goal itself: just creating a useful module, not something like "it's a crucial part, besides other five, of this big project X I'm working on" (I believe this kind of situation almost always ends with "nah, I'll just use instead").

    > Just wondering is this type based TCL like language similar to Little?

    No, it's not. I first heard about Little a couple months ago and it's a very interesting project. But I don't plan, right now, to include any kind of builtin Tcl compatibility layer in Til (although users are free to create its own implementations, of course).

    > [2] Will it eventually support compilation similar to Emacs Lisp? [3]

    I created the language much more as a tool to learn how to create languages than anything else, but now it's kind of mature enough, I'll confess my dream is to implement JIT compilation, following the steps of LuaJIT (that is an AWESOME project IMHO).

    > Personally I'd love to have superset language in D for data science.

    That would be nice. Having a autowrap-like way of exposing D code to Til would be even nicer. (https://github.com/atilaneves/autowrap)

    > It should be also easily embeddable and support prototyping like Lua.

    I believe embedding it is already in a very tolerable state. If you look into the "interpreter" code you'll see it is only 82 lines (actual 69 LOC).

    (https://github.com/til-lang/til/blob/master/interpreter/sour...)

    And it has a lot of debugging code. Loading a string, parsing it as a "SubProgram" and running it is kind of trivial.

    Now, about the prototyping part, I never thought about it, actually...

    > On top of that it should have excellent support for array, ndarray and dataframe like R [4].

    It's very easy to create new types in Til and they support both "operate" (to apply, you know, operators, like +, -, /, etc) and "extract (to index things or extract information in general from values). I believe it wouldn't be difficult to create a nice module for using these things.

    > Since it is based on D, then it can fulfill the requirements for both type A and B data scientists [5].

    Maybe. But, I don't know... isn't data scientists all over the world happy and satisfied with Python, already?

  • 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.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • DMD Compiler as a Library: A Call to Arms

    3 projects | news.ycombinator.com | 22 Feb 2024
  • D Programming Language

    13 projects | news.ycombinator.com | 3 Dec 2023
  • Ask HN: Who is using the D language and likes/doesn't like it? Why?

    6 projects | news.ycombinator.com | 23 Sep 2023
  • We need a play on "Unix" to get it

    3 projects | /r/ProgrammerHumor | 20 Jul 2022
  • So I started learning about C++ and I feel like I'm doing everything wrong.

    7 projects | /r/cpp | 16 Jun 2022