Git Product home page Git Product logo

co-dfns's Introduction

Co-dfns Compiler

The Co-dfns project aims to provide a high-performance, high-reliability compiler for a parallel extension of the Dyalog dfns programming language. The dfns language is a functionally oriented, lexically scoped dialect of APL. The Co-dfns language extends the dfns language to include explicit task parallelism with implicit structures for synchronization and determinism. The language is designed to enable rigorous formal analysis of programs to aid in compiler optimization and programmer productivity, as well as in the general reliability of the code itself.

Our mission is to deliver scalable APL programming to information and domain experts across many fields, expanding the scope and capabilities of what you can effectively accomplish with APL.

Getting Help

Documentation on Co-dfns can be found in the docs/ folder.

APL and Co-dfns can be a little different at first. I encourage you to contact me ([email protected]) for any questions you may have regarding either APL or Co-dfns.

Additionally, if you have general Dyalog APL inquiries, please do not hesitate to email Dyalog's support email: [email protected].

Contributing and Helping

We are seeking to create an open funding model for Co-dfns research through user and patron contributions. You can support the project by contributing code, feedback, benchmarks, and so forth, but you can also directly support the Co-dfns project by funding the author:

https://www.patreon.com/arcfide

Related Projects

There are a number of related initiatives that are based on the Co-dfns technology:

  • Mystika: a high-level, high-performance cryptographic stack
  • apixlib: programmable, easy to use image processing

Publications

The following publications are either directly related to Co-dfns or talk about Co-dfns in their presentations.

Co-dfns Update 2023 // Aaron Hsu // Dyalog '23

U-Net CNN in APL: Exploring Zero-Framework, Zero-Library Machine Learning. ARRAY 2023.

Implementing the Convolutional Neural Network U-Net in APL, Dyalog User Meeting 2022

Text Processing in APL, Dyalog User Meeting 2022

Co-dfns Report, Dyalog User Meeting 2022

DSLs, Architecture, & Structural Design in APL, 3 ways by Aaron W Hsu #FnConf 2022

A Taste of GPU Compute, mentions Co-dfns

Modern APL in the Real World: Theory, Practice, Case Studies - λC 20 Global Edition

Programming Obesity: A Code Health Epidemic - FnConf 2019

Program Obesity: A Code Health Epidemic - λC 2019 Unconference

A Data Parallel Compiler Hosted on the GPU

Pragmatic Array Oriented Functional Programming @ JIO Talks

Live Reading/Writing Co-dfns, The Way of APL

Parallel-by-construction Tree Manipulation with APL - λC 2018 (Part 1 2)

Does APL Need a Type System? (FnConf '18)

Array-oriented Functional Programming

Tree Manipulation Workshop and Dyalog '18 Talk

User Command for Co-dfns

Functional Array Funhouse Intensive - λC 2017 (Part 1 2 3 4 5)

APL Patterns vs. Anti-Patterns @ FunctionalConf 2017

Co-dfns 2017 Report

APL Style: Patterns and Anti-patterns

Co-dfns Compiler Architecture and Design (Video)

The Key to a Data Parallel Compiler

Accelerating Information Experts Through Compiler Design

Co-dfns: Ancient Language, Modern Compiler

U11: Using Co-dfns to Accelerate APL Code

U07: Co-dfns Report: Performance and Reliability Prototyping

I04: Co-dfns Compiler

Dyalog 2016 Presentation

co-dfns's People

Contributors

arcfide avatar jayfoad avatar gavwhela avatar tcdowney avatar rodrigogiraoserrao avatar krish240574 avatar sloorush avatar llelf avatar xelxebar avatar

Stargazers

 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.