background preloader

The language

Facebook Twitter

Prolog tutorial – Matrices. This article can be a guide for solving some problems with Prolog.

Prolog tutorial – Matrices

If you know it's syntax, maybe after reading this you will get an idea, how to use this language effectively. Basic matrix operations and functions When solving the exercise below, I firstly wrote predicates like "encode", "decode" etc. After that, I wrote those basic operations, so my approach was "from the top" and I thik it's the right approach. I decided to move these basic matrix operations from the end to the beginning, to make the code below more clear.

The list of N characters. Tsdl. Module Tsdl: sig .. end SDL thin bindings.


Consult the binding conventions, the binding coverage and examples of use. Given the thinness of the binding most functions are documented by linking directly to SDL's own documentation. Open the module to use it, this defines only the module Sdl in your scope. Note. References. OcsfmlGraphics. Module OcsfmlGraphics: sig .. end type 'a reference = 'a Indicates a c++ reference ; be cautious with border-side effects.


Jeremyletang/rust-sfml. Loranbriggs/Antlr. The Cat Programming Language. Teach Yourself Scheme in Fixnum Days. Teach Yourself Scheme in Fixnum Days. Adventures in Mercury. Pldi071-devito.pdf. Terra. Metalua Manual. Fabien Fleutot - Reading guide This manual tries to be as comprehensive as possible; however, you don't necessarily have to read all of it before starting to do interesting stuff with metalua.

Metalua Manual

Here's a brief summary of what the different parts of the manual address, and why you might want to read them immediately---or not. Before reading this manual: metalua is based on Lua, so you'll need a minimal level of Lua proficiency. You can probably get away without knowing much about metatables, environments or coroutines, but you need to be at ease with basic flow control, scoping rules, first-class functions, and the whole everything-is-a-table approach. 1.1 Concepts Lua Lua1 is an very clean and powerful language, with everything the discrimiating hacker will love: advanced data structures, true function closures, coroutines (a.k.a collaborative multithreading), powerful runtime introspection and metaprogramming abilities, ultra-easy integration with C.

OCaml-SFML bindings. Parsing expression grammar. Unlike CFGs, PEGs cannot be ambiguous; if a string parses, it has exactly one valid parse tree.

Parsing expression grammar

It is conjectured that there exist context-free languages that cannot be parsed by a PEG, but this is not yet proven.[1] PEGs are well-suited to parsing computer languages, but not natural languages where their performance is comparable to general CFG algorithms such as the Earley algorithm.[2] Definition[edit] Syntax[edit] Tutorial: Table of Contents. Parrot VM. [Caml-list] LLVM: A native-code compiler for MiniML in ~100LOC - Google Groupes. I recently rediscovered the Low-Level Virtual Machine (LLVM) project that has since been adopted by Apple: This is a library (with OCaml bindings!)

[Caml-list] LLVM: A native-code compiler for MiniML in ~100LOC - Google Groupes

That allows you to write a compiler that generates their RISC-like intermediate language (IL) that can then be compiled to native code. LLVM even supports JIT compilation. NJ Machine-Code Toolkit. The New Jersey Machine-Code Toolkit helps programmers write applications that process machine code---assemblers, disassemblers, code generators, tracers, profilers, and debuggers.

NJ Machine-Code Toolkit

The toolkit lets programmers encode and decode machine instructions symbolically. Encoding and decoding are automated based on compact specifications. The toolkit is a joint project of Mary Fernández and Norman Ramsey. You can take a shortcut straight to the source distribution. There is (old) news for November 1998, as well as really old news. The Stanford SUIF Compiler Group - Publications. ACM mandated notice: The documents contained in these directories are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis.

The Stanford SUIF Compiler Group - Publications

Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Table of Contents Software Reliability Static and Dynamic Analyses InvisiType: Object-Oriented Security Policies Jiwon Seo and Monica S. Architecture Enhancing Software Reliability with Speculative Threads Jeffrey Oplinger. Appliance Computing The Collective: A Cache-Based System Management Architecture R. Overview and Evaluation of SUIF.

Writing Your Own Toy Compiler Using Flex, Bison and LLVM. For the record, I think it's a terrible idea to keep prototyping compilers in C in this day and age.

Writing Your Own Toy Compiler Using Flex, Bison and LLVM

There is already a DSL for compiler construction and it's called Standard ML. SML/NJ, along with the New Jersey Machine Toolkit, Ramsey and Fernandez' excellent binary-frobbing-utility framework (yes! Tools that generate profilers, debuggers, tracers, assemblers and disassemblers!) Along with stuff from the SUIF project, you can start writing very sophisticated industrial compilers in fraction of the time it takes to debug just the front-end stuff in C. Even Perl, or your scripting language of choice, is better than C for compiler hacking.