propensive / cellulose Goto Github PK
View Code? Open in Web Editor NEWA comprehensive Scala library for working with CoDL files
License: Apache License 2.0
A comprehensive Scala library for working with CoDL files
License: Apache License 2.0
Two variants of the binary serialization should be provided: one optimized for when the data is stored as a string, and offsets are character-based, and another for random-access from disk, where offsets are in bytes.
Using two or more spaces should force consistent vertical alignment all adjacent lines on parameters preceded by two or more spaces. This needs to be formalized, though.
Currently it's written in terms of a Reader
.
There is a failing test for this issue.
The color of the "cell walls" looks a bit "washed-out".
The implementation should be quite simple.
The derived instances are unnecessarily cumbersome to define, and can be mostly simplified to one-liners.
In the center of each "cell" there is a small "mess" of shapes.
Serialization to a string should be easier. Currently it uses an java.io.Writer
, though we shouldn't be exposing Java APIs.
The rule should be that if we encounter two consecutive spaces, for the remainder of the line, a single space should be considered an "ordinary" character.
We have a general rule that on a line, after two or more spaces, a single space does not constitute a new parameter. That is, two or more spaces are required to separate subsequent parameters. For key/value-style data, this works well most of the time, but not always. In a hypothetical project definition we could have, for example,
id my-project
name My project
description The project I'm developing
keywords experimental data cli
and experimental data cli
would be treated as a single parameter, which would lead to a validation failure if keywords are not allowed to contain spaces, while it should really be three separate parameters (which would be interpreted as a repeated parameter according to the schema). But we would not want the description
to be split on spaces.
Offering a way to specify (in a schema) whether a field can include spaces (or not) might help here. Concretely, this would mean that the example above could be correctly interpreted without additional spaces being required between the keywords.
BCoDL should be an optional module.
There should be a standard way of serializing a coproduct. For example, given,
sealed trait Node
case class File(path: Text) extends Node
case class Directory(path: Text, empty: Boolean) extends Node
we should write these as,
node file
path /path/to/file
node directory
empty yes
path /path/to/directory/
where the parameter, file
or directory
would have the name type
. The children of each should be checked for the particular type.
In a schema, the definitions for node file
and node directory
should (on some level) be as different as any other two distinct keywords, but consideration needs to be paid to the multiplicity of node
... This is currently unresolved.
It's too easy to accidentally call a dynamic method when it's not intended.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.