GithubHelp home page GithubHelp logo

jimbog / exploringvms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from squarebracketassociates/exploringvms

0.0 2.0 0.0 1.25 MB

Perl 0.24% TeX 11.58% Shell 5.41% CSS 81.28% JavaScript 1.50%

exploringvms's Introduction

#Building an object-oriented language Virtual Machine in 72 hours

This books was designed for developers who knows how to program in object-oriented languages but do not know how to implement an object engine (a virtual machine, an object kernel, a bytecode compiler, ...). It includes several tutorials to teach how to build a simple interpreter based virtual machine for a simple object-oriented language the reader will create. The object-oriented language built is fairly simple. Everything is an object. The language is similar to Smalltalk or Ruby.

Currently the implementation part (templates and examples) are done in Pharo Smalltalk and C. The book has to be based on a high-level and a low-level language to work well. If you are interested in porting the book to another couple of languages (for example, Javascript as a high-level language and Rust as a low level language), please contact me (contact at bottom of document).

##Installation

  • Clone the repository
  • Install packages related to latex compilation (texlive or whatever)
  • Execute successfully:
    • download.sh (download on your machine the programs required for compilation)
    • compile.sh (compile each chapter)
    • compileBook.sh (merge the chapters into a book)

If it does not work I can send you a precompiled version if you contact me (contact at bottom of document). There is currently no alternatives.

##Status

  • released: These sections are opened to everyone and the book writers are happy to discuss them.
  • beta: While not necessarily completely finished, these sections are opened to external beta testers. Please give feedback if you are experimenting with a beta section. The book writers will improve these sections based on beta tester feedbacks and are happy to discuss them.
  • alpha: Reserved for the book writer(s). External people can read and use these sections, but they are incomplete and the book writers may ignore any questions or requests related to those sections.

The overall book is in alpha.

The Part 1 (Managing a call stack) has moved from alpha to beta January 14th. Please report feedback on comments on this section (contact at bottom of document).

###Contact

Clement Bera: clement.bera at inria dat fr

exploringvms's People

Contributors

cdlm avatar clementbera avatar ducasse avatar lucfabresse avatar thibaultar avatar

Watchers

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