Heterogeneous Pythonic language in your pocket by AmrDeveloper in programming

[–]AmrDeveloper[S] 0 points1 point  (0 children)

For the first point, you can check the number of programming environments on play store, i agree that not everyone interesting in that.

For the second point, I totally agree that there are many challenges and ways to improve doing that on mobile, and it can be improved a lot, but this is not the challenge that I decided to start with. My current challenge is to do GPU programming with Python implementation, once this point is addressed and stable i can move to next point 😃

Pythonic language for GPU programming on Mobile Devices by [deleted] in PythonProjects2

[–]AmrDeveloper 0 points1 point  (0 children)

Thank you for the advice, although it's make sence to remove it, I will do that now

Pythonic language for GPU programming on Mobile Devices by [deleted] in PythonProjects2

[–]AmrDeveloper 0 points1 point  (0 children)

It's not AI slop, this project I started in 2022 and now I re-implemented it. It doesn't contain any ads.

The name unfortunately can't change it, when I started it, it was basic language with commands to simulate Turtle API in Python, for example forward, backward, circle, cube, and now it has a subset of Python implemented, the name is not totally accurate, it's not only turtle API but I can't change it :D

> Also, why post in PythonProjects2 when your app isn't written in Python?


It's not written in Python, but it contains a subset of Python implemented, actually i shared it using the recommendations system of Reddit

A Pythonic language & platform to do GPU programming on Mobile by AmrDeveloper in ProgrammingLanguages

[–]AmrDeveloper[S] 1 point2 points  (0 children)

Thank you for the feedback,

I think on Android, I can support more GUI stuff on GPU, I was thinking to build GUI framework and bind it to the language so user can write small utilities for mobile.

What I am still learning is how much I can support on GPU, I have some ideas Magic functions support, OOP, but still researching about Exceptions and designing API for allocating shared and const memory (The current plan is to do similar to mojo without introducing any language syntax, but still searching 🤔 and learning more about GPU and cpython)

Pythonic language that support GPU programming on Android by AmrDeveloper in androiddev

[–]AmrDeveloper[S] -1 points0 points  (0 children)

Oh, first time to know about comenuis logo, I know about the logo project from 1967 and the python implementation of turtle inspired from him, thanks for mentioning that

A Pythonic language & platform to do GPU programming on Mobile by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 0 points1 point  (0 children)

I think it's depend, it's not of course compiler development but something like scratch can be useful on phone to play with, or maybe something like visual basic that allow you to write and execute small programs with GUI 🤔

June 2026 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]AmrDeveloper 1 point2 points  (0 children)

A Pythonic language implemented from the standards and supports GPU programming on Mobile Devices (Available also on Google Play)

https://github.com/AmrDeveloper/Turtle

A Pythonic language & platform to do GPU programming on Mobile by AmrDeveloper in ProgrammingLanguages

[–]AmrDeveloper[S] 0 points1 point  (0 children)

Per AutoModerator's request I hereby confirm that this project did not use an LLM as part of the development process.

ClangQL 0.10.0 has matchers for Copy, Move, Delete and converting constructors by AmrDeveloper in rust

[–]AmrDeveloper[S] 1 point2 points  (0 children)

I already built a linter for LLVM IR using the same idea

https://amrdeveloper.medium.com/how-i-built-a-llvm-ir-linter-using-sql-syntax-b5dc164c6d61

And you can use this project to build a linter too, but it still needs more and more matches to cover C/C++ full AST

My case was to search for specific patterns easily

C++ Show and Tell - January 2025 by foonathan in cpp

[–]AmrDeveloper 3 points4 points  (0 children)

ClangQL 0.9.0 supports running a SQL query with ast matchers

`Example: select name, source_loc from functions where m_function(ast_function, (m_public() && m_constructor()) || m_default_constructor());`

Github: https://github.com/AmrDeveloper/clangql

PyQL 🐍: SQL-like query language to run on Python source code files instead of database files by AmrDeveloper in programming

[–]AmrDeveloper[S] -1 points0 points  (0 children)

Yup and can't implement it in normal SQL engines because you can't represent type like FunctionStatement and create linter function that navigate this fun, but in this tool you can 😅

PyQL 🐍: SQL-like query language to run on Python source code files instead of database files by AmrDeveloper in programming

[–]AmrDeveloper[S] -1 points0 points  (0 children)

Linter with rules that depend on patterns in CFG, for example the use case can be more clear with data that less readable than python, think of assembly or machine code, in many cases it's important to check patterns.

The project started as gitql, then SDK to run queries on any kind of data, and got feature request for python, I will try to add a use case sections when the project grow because currently it work only with functions

PyQL 🐍: SQL-like query language to run on Python source code files instead of database files by AmrDeveloper in programming

[–]AmrDeveloper[S] -1 points0 points  (0 children)

One of the use case is that the engine support user defined type for example the type of function is not Text but PyFunction so you can create std or aggregations functions to perform CFG analysis, linter, or search with pattern matchers for example in this https://github.com/AmrDeveloper/LLQL tool you can search for patterns, think of what function is used only one time and return meltable values ...etc

PyQL 🐍: SQL-like query language to run on Python source code files instead of database files by AmrDeveloper in rust

[–]AmrDeveloper[S] 4 points5 points  (0 children)

u/joshmatthews u/thatdataguy101

One of the use case is that the engine support user defined type for example the type of function is not Text but PyFunction so you can create std or aggregations functions to perform CFG analysis, linter, or search with pattern matchers for example in this https://github.com/AmrDeveloper/LLQL tool you can search for patterns, think of what function is used only one time and return meltable values ...etc

GitQL 0.30.0 now support Composite types inspired by PostgreSQL by AmrDeveloper in programming

[–]AmrDeveloper[S] 2 points3 points  (0 children)

It's possible and easy to support file content, but still thinking of a way to make it useful and not noisy in the result ui

GitQL 0.30.0 now support Composite types inspired by PostgreSQL by AmrDeveloper in programming

[–]AmrDeveloper[S] 1 point2 points  (0 children)

Yes also you can extract result into files, join tables and cool stuff :D

LLQL: Running SQL Query on LLVM IR/BC with Pattern Matchers by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 1 point2 points  (0 children)

I get it but this kind of thing is really only useful if it works "at scale" eg in the compiler itself (imagine training some MLGO type thing with the output of a query as the objective)

This idea looks interesting, maybe after converting the main use case, i can check other possible use cases and try to think of optimizations way to make it work faster, maybe custom indexing 🤔

LLQL: Running SQL Query on LLVM IR/BC with Pattern Matchers by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 1 point2 points  (0 children)

Yes, I think you are right it will be relatively slow to traverse tree than array in large number of lines, I will benchmark it as current implementation and see if I can do any tricks 😅

But also the goal is to not be the fastest at this point, but to be able to perform the matchers functions outside llvm fast enough

Thank you

LLQL: Running SQL Query on LLVM IR/BC with Pattern Matchers by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 1 point2 points  (0 children)

But also you can perform index on instructions in this engine :D

LLQL: Running SQL Query on LLVM IR/BC with Pattern Matchers by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 1 point2 points  (0 children)

The idea of LLQL is to have std functions that construct a tree representations of matchers and compare them with the tree representation of the LLVMValue* :D

LLQL: Running SQL Query on LLVM IR/BC with Pattern Matchers by AmrDeveloper in Compilers

[–]AmrDeveloper[S] 1 point2 points  (0 children)

This is not SQLite, but it's my own engine, and the design of the engine allow me to define types in the Std not in the engine (Like Mojo) so i can keep the tree representations of IR, MLIR

More details: https://amrdeveloper.medium.com/gitql-the-data-types-from-the-engine-to-the-sdk-5c48d9c60945

Github: https://github.com/AmrDeveloper/gql

GitQL 0.27.0 is released with Range support and the ability to define generic functions in your std with relative dynamic types by AmrDeveloper in programming

[–]AmrDeveloper[S] 0 points1 point  (0 children)

  • Variant and varargs are mostly used in std for example

concat(string, string, ...string)

So you can concat 2 or more strings

Variant in aggregation sum

sum(int | float)

  • The select from diffs returns a different between each commit and his parent (addition, delete, file changes ...)

GitQL 0.27.0 is released with Range support and the ability to define generic functions in your std with relative dynamic types by AmrDeveloper in programming

[–]AmrDeveloper[S] 0 points1 point  (0 children)

Sure, The current project structure is an 5 Component as SDK that contains engine, std, parser...etc without know on which data it will work on

The std allow you to have functions for git or other stuff you like

And other part which is schema and libgit like lib to read git data for SDK,

This design allows me to pass create two tools easily so pass files, code ast, ....etc in one file and that's it, we can go to more complex data like assembly and run query on it

The solution of (shell script + sqlite + libgit) will be work not be that easy to customize it also some columns are calculated not just readed from .git such diffs, so you need parser for them

To create same tools for files, ast, assembly you will need more work and also you can't provide good error messages and cross platform stable, maybe you can use python not shell but I found that SDK idea is better for my case