Giter Site home page Giter Site logo

syncat's Introduction

Hello, thanks for coming! I like to do a bit of anything that involves writing code. If you like learning and experimenting with new concepts, we might have something in common. Occasionally I write notes of things I know, and even more infrequently I'll write a whole blog post, but you really don't need to be interested in that. If you think I might know something you want to know but didn't yet write down, feel free to reach out.

My current project is Trilogy; a new programming language combining the best of imperative, functional, and logic programming, along with the latest and greatest investigations into effect systems. For those who paid any notice to my previous language project, Lumber, this is sort of a follow-up to try and overcome some of the pain points of logic languages by incorporating logic programming as a first class citizen alongside the more conventional paradigms.

There are a few experiments I would like to get to in the future, some of which I investigated briefly but then set aside. Maybe some of these could be of interest to someone else too:

  • A user-owned "digital identity", putting users in control of their information.

    Along with this, a few apps which might use it:

    • An "offline social network" (Pigeon), exclusively using local communiciation to build a sense of community in the digital age.
    • A reimagined digital loyalty-card.

    Something along these lines may be a good application of Web3 to something familiar that can help get the uninitiated involved in the decentralized web. Crypto can be scary, maybe little things will be more accessible.

  • A multi-purpose drag-and-drop visual programming language allowing for a intuitive graph based control flow instead of the usual linear text-based experience.

  • An query language for existing relational databases using logic programming rather than SQL.

  • A more intuitive way to teach (and learn) programming and related concepts, emphasizing good habits and good code.

If you are similar to me and prefer to work entirely from the command line, you may be interested in a few of the tools I built because I couldn't find a suitable alternative elsewhere:

  • paper, a better looking Markdown typesetter.
  • syncat, a tree-sitter based syntax highlighter, similar to cat, which works well with paper.
  • outline, a tool for literate programming (though if you are interested in this, you may also be interested in Yarner, which has gone on to be a respectable successor to outline).

On a related note, you may also find inspiration in my dotfiles and such if you are looking to set your environment up (or better yet, have suggestions, as I am always looking to improve mine).

If you like board games, I have turned a few of my favourites into browser-based games you can play online with your friends. They're a little sketchy... but mostly playable I think. Feel free to try them out:

syncat's People

Contributors

dependabot[bot] avatar foxfriends avatar ngirard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

ngirard nicos68

syncat's Issues

Option to generate a tree-sitter grammar when installing

Recently attempt to install a Swift grammar, but this guy doesn't check in the generated grammar the way everyone else does.

For those who do want to install Swift to Syncat, you must simply run npm install manually in the downloaded repository.

But some way to specify additional setup commands in the languages.toml file would help solve this problem more reliably in future...

Plugin manager v2

Plugin manager works but needs work

  • Detect when cc is unable to be used, show more meaningful errors explaining how to build a grammar file manually
  • Detect when npm is not found, and show similar error messages
  • Provide a way to configure alternate commands for generating grammars if they aren't included

syncat unsupported architecture error on m1 mac

hey I get these error when I try to use syncat install rust or syncat install js

cargo:warning=              _Nonnull
cargo:warning=178 warnings generated.
cargo:rerun-if-env-changed=AR_aarch64-apple-darwin
AR_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=AR_aarch64_apple_darwin
AR_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_AR
HOST_AR = None
cargo:rerun-if-env-changed=AR
AR = None
cargo:rerun-if-env-changed=ARFLAGS_aarch64-apple-darwin
ARFLAGS_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=ARFLAGS_aarch64_apple_darwin
ARFLAGS_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_ARFLAGS
HOST_ARFLAGS = None
cargo:rerun-if-env-changed=ARFLAGS
ARFLAGS = None
cargo:rustc-link-lib=static=syncat
cargo:rustc-link-search=native=/var/folders/cy/fnzxkcyn55717jyx1gq6vq_40000gn/T/syncat.F3lT6FEZ2poI
cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
CC_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
CC_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = None
cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
CFLAGS_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
CFLAGS_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = Some(" -fdiagnostics-color=always")
syncat: syncat: failed to install rust: detected C/C++ compiler is not yet supported

Spellcheck

Could be fun...

  • be able to turn spellchecking on with a CLI arg
  • only spell checks locations matched by queries that have spellcheck: true property set

Unsure how it compares to Bat

Hi,

Unless I'm misunderstood, the most popular similar application in the Rust ecosystem is Bat.

It would be nice if you could outline the characteristics of your application relative to Bat, in the README.

Thanks !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.