Skip to content
This repository was archived by the owner on Mar 11, 2022. It is now read-only.

pentagram-lang/pentagram-gen2-scala

Repository files navigation

Tacit (generation 2)

Status

This repository is archived. Please visit the current version of Tacit:

https://github.com/tacit-lang/tacit

About

Tacit is a friendly programming language that uses ergonomics, determinism, and efficiency to help you express your creativity.

  • With powerful features like significant whitespace and functional programming, the Tacit language works together with you and helps you out at every step.

  • The Tacit community is here to help too! We know how tough coding can be, and we do our best to make this a safe space where kindness and empathy are the norm.

Developing

Prerequisites

You'll need to install a JDK (to run the Scala compiler) and SBT (to download the Scala compiler and library dependencies).

You'll also need to install Git Large File Storage (to download the fonts used by the JS web shell).

Optionally, for a smoother web shell development workflow, you can install Browsersync.

Workflow

Here are some important sbt commands:

  • jvm (to run the JVM console shell)
  • js (to compile the JS web shell)
  • test (to run all tests)
  • ~testQuick (to run only affected tests, and run them again when any source file changes)
  • bench (to run benchmarks)
  • fmt (to reformat all source files)
  • compileAll (to compile all source files including tests)

When working on the web shell, you can use the included Browsersync + sbt wrapper script:

  • ./browser-sync-sbt.sh (to automatically reload the web console after the SBT build finishes)

Code style

For Scala code style, see the Tacit wiki page.

Deploying

To download dependencies, compile, test, check formatting, and build JavaScript:

sbt update
sbt compileAll
sbt test
sbt fmtCheck
sbt jsShell/fullOptJS

To deploy to GitHub pages, you can try using an automated script like this Gist:

https://gist.github.com/dcecile/b03ea8c5a807ca1ff8068908ce669d54

License

This project is released under the MIT License (see LICENSE.md for details).

About

Generation 2 partial Tacit REPL and homepage

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published