|
@@ -1,15 +1,15 @@
|
|
|
|
|
|
# Table of Contents
|
|
|
|
|
|
-1. [Modmark](#org3315e91)
|
|
|
- 1. [Current Status and Goals](#org9a3029e)
|
|
|
- 2. [Purpose](#orgbde233a)
|
|
|
- 3. [Syntax](#org47e5981)
|
|
|
- 1. [A Module File](#org6619c61)
|
|
|
- 2. [A Patch](#orgefc3c3a)
|
|
|
+1. [Modmark](#org18831d8)
|
|
|
+ 1. [Current Status and Goals](#org926a523)
|
|
|
+ 2. [Purpose](#org0463441)
|
|
|
+ 3. [Syntax](#org004fef7)
|
|
|
+ 1. [A Module File](#orgb5658bc)
|
|
|
+ 2. [A Patch](#orgf298aea)
|
|
|
|
|
|
|
|
|
-<a id="org3315e91"></a>
|
|
|
+<a id="org18831d8"></a>
|
|
|
|
|
|
# Modmark
|
|
|
|
|
@@ -19,7 +19,7 @@ In future, this scope may be expanded to make available a language for describin
|
|
|
data routing across a wide array of devices.
|
|
|
|
|
|
|
|
|
-<a id="org9a3029e"></a>
|
|
|
+<a id="org926a523"></a>
|
|
|
|
|
|
## Current Status and Goals
|
|
|
|
|
@@ -29,12 +29,28 @@ This software is currently a prototype. Right now the "compiler" is a Perl scrip
|
|
|
A rough road map looks something like:
|
|
|
|
|
|
- [X] Prototype compiler in Perl
|
|
|
-- [ ] Test and stabilize syntax/grammar
|
|
|
+- [ ] Test and stabilize syntax/grammar/prototype compiler
|
|
|
+ - [ ] Bug with connections where similar connection names are not resolved properly,
|
|
|
+ resulting in duplicate or merged connections
|
|
|
+ - [ ] Clean up module naming, should support `-` chars, possibly other chars
|
|
|
- [ ] Implement modmark as a source-to-source compiler in Racket ( "Real" implementation )
|
|
|
+ - [ ] Implement `import as` semantics for brevity
|
|
|
+ - [ ] Implement `import Module::MakeNoise::*` semantics for brevity
|
|
|
+ - [ ] Implement importing specific module revisions, ie: `import Module::MakeNoise::Wogglebug::Rev1`
|
|
|
+ - [ ] Standardize input/knob labeling semantics:
|
|
|
+
|
|
|
+ - Input: Foo
|
|
|
+ -- Position: [1,12]
|
|
|
+
|
|
|
+ - Knob: Foo
|
|
|
+ -- Position: [1,12]
|
|
|
+
|
|
|
+ # Currently both of above "compile", and work as expected, in the case where a
|
|
|
+ # module parameter has both a knob and an input. It may be better to only have one way?
|
|
|
- [ ] Develop libraries for as many modules as possible
|
|
|
|
|
|
|
|
|
-<a id="orgbde233a"></a>
|
|
|
+<a id="org0463441"></a>
|
|
|
|
|
|
## Purpose
|
|
|
|
|
@@ -53,19 +69,19 @@ modules yourself. Modmark aims to offload this task by having the community desc
|
|
|
to do that work again the next time we'd like to use it in a patch.
|
|
|
|
|
|
|
|
|
-<a id="org47e5981"></a>
|
|
|
+<a id="org004fef7"></a>
|
|
|
|
|
|
## Syntax
|
|
|
|
|
|
|
|
|
-<a id="org6619c61"></a>
|
|
|
+<a id="orgb5658bc"></a>
|
|
|
|
|
|
### A Module File
|
|
|
|
|
|
[Make Noise Maths](./module_lib/maths.module)
|
|
|
|
|
|
|
|
|
-<a id="orgefc3c3a"></a>
|
|
|
+<a id="orgf298aea"></a>
|
|
|
|
|
|
### A Patch
|
|
|
|