Giter Site home page Giter Site logo

literatefstar's Introduction

LiterateFStar

Export F* code as LaTeX.

Patches F* to add the primitive comments_of_module, which adds the ability to lookup the comments associated with a module.

Then a F* meta-program withing F* extract code blocks and comments so that it is rendered as LaTeX.

How to use

This repo uses a specific F* build, with a few patches (see /patches).

nix run .#build will build that F* version and build the example Literate.Example.

Otherwise, nix shell will get you a shell with the correct, patched F*.

Load other module / raw LaTeX

Include the LaTeX generated for a given module:

//!open Some.FStar.Module

Include a raw file:

//!raw path

Render declarations with a custom (F*) filter:

//@printer=Literate.Example.e_capitalizer
let somedef = ...

Hide a definition

//@hide
let hiddendef = ...

Hide qualifiers

//@hide-quals
unfold let hiddendef = ...

More example

See Literate.Example.fst, Literate.Example.A.fst and Literate.Example.B.fst.

literatefstar's People

Contributors

w95psp avatar

Watchers

 avatar

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.