Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fork with significant modifications #4

Open
wants to merge 51 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
ad2299e
cleanup .cabal and Main.hs files
Jonplussed May 20, 2015
052d2b6
Git should ignore cabal sandboxes
Jonplussed May 20, 2015
efe23f8
clean up AST
Jonplussed May 20, 2015
4d164c3
cleanup IDL parser (needs testing)
Jonplussed May 21, 2015
cde5449
fix redundancy and src file
Jonplussed May 22, 2015
5e2b843
WIP
Jonplussed May 22, 2015
b37b1dd
first pass at cleaning PrettyPrinter works
Jonplussed May 23, 2015
f6046fe
ugly printer but good output
Jonplussed May 23, 2015
3aabb93
now printing impl functions rather than nested
Jonplussed May 24, 2015
b5048fd
correctly print array types
Jonplussed May 24, 2015
60c9fbd
remove typedef from constants
Jonplussed May 24, 2015
34040ba
arbitrary cleanup
Jonplussed May 24, 2015
80e122f
additional cleanup
Jonplussed May 24, 2015
310261d
rm accidentally-committed test file
Jonplussed May 25, 2015
5865d46
remove unused isUsableFunction
Jonplussed May 25, 2015
88a1f85
rearrange as both cabal and bower packages
Jonplussed May 25, 2015
e07c702
add more package files
Jonplussed May 25, 2015
690c01c
added a basic README
Jonplussed May 25, 2015
dc25524
significant cleanup
Jonplussed May 26, 2015
89e674a
additional cleanup
Jonplussed May 26, 2015
3f092fd
minor edits
Jonplussed May 26, 2015
387fd1f
add typesig to constants for doc generation
Jonplussed May 26, 2015
67c0d7d
split output in multiple files for easier use
Jonplussed May 27, 2015
4c8ebb5
correctly print function export list
Jonplussed May 27, 2015
3b57845
export non-impl functions for easier usage
Jonplussed May 27, 2015
9068c6d
print WebGL enums as camelCase
Jonplussed May 27, 2015
2654096
significant README edits
Jonplussed May 27, 2015
5148c51
bump version to 0.2.0
Jonplussed May 27, 2015
df4cfd5
use Canvas effect from Graphics.Canvas rather than WebGL effect
Jonplussed May 30, 2015
82a972c
put Haskell and PureScript output in the same dir
Jonplussed Jun 1, 2015
8b201b6
use general "canvas" effect rather than specific "webgl" effect
Jonplussed Jun 3, 2015
e65c2c2
remove unused typeCondParam from AST
Jonplussed Jun 3, 2015
b511235
Revert "remove unused typeCondParam from AST"
Jonplussed Jun 3, 2015
5249415
parser and printer improvements but lost correct types on arrays
Jonplussed Jun 3, 2015
54379b2
correctly parse and print maybe and array types
Jonplussed Jun 4, 2015
080fbac
set null array values to empty
Jonplussed Jun 4, 2015
69d1aa8
wrap generic return types in Maybe
Jonplussed Jun 4, 2015
9e0e402
update README with info re: Maybes
Jonplussed Jun 4, 2015
3c0f092
bump version to 0.3.0
Jonplussed Jun 4, 2015
a4dd0c4
Export duplicate JavaScript functions with parametric polymorphism
Jonplussed Jun 13, 2015
b9b07ed
add correct alias for BufferDataSource
Jonplussed Jun 13, 2015
59ce067
remove unused instances
Jonplussed Jun 13, 2015
14a4d1f
remvoe Grunt in favor of Pulp
Jonplussed Jul 29, 2015
082dad2
update Util module for PureScript 0.7
Jonplussed Jul 29, 2015
cde888c
update Enums/Types for PureScript 0.7
Jonplussed Jul 29, 2015
94231ca
update array type representation for PureScript 0.7
Jonplussed Jul 29, 2015
d63d7f3
first pass at updating Printer for PureScript 0.7.0
Jonplussed Jul 31, 2015
872398a
update deps for PureScript 0.7.0
Jonplussed Jul 31, 2015
5886779
fix generated imports so purescript properly builds
Jonplussed Jul 31, 2015
0a078a1
update generated purescript for 0.7.0
Jonplussed Jul 31, 2015
d314fb8
add purescript documentation
Jonplussed Jul 31, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,9 @@ dist/
*~
*.tix
*.project
.cabal-sandbox
cabal.sandbox.config
node_modules/
bower_components/
.psci
output/
61 changes: 61 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
## Graphics.WebGL.Raw

See the [module documentation][1] for all exported functions, constants, and
types.

[1]: docs/README.md

This library is the thinnest possible PureScript wrapper for JavaScript WebGL
methods, providing just enough to wrap possible `null`/`undefined` values in
their respective empty contexts. Returned values are wrapped in the `Eff`
monad, using the `Canvas` effect provided by [`purescript-canvas`][2] for
compatibility with general `HTMLCanvasElement` functions.

[2]: https://github.com/purescript-contrib/purescript-canvas

This library is generated by parsing the [Khronos IDL][2] for the WebGL
specification with the included Haskell parser and pretty-printer. This
library should not be altered manually but instead by modifying the
parser/printer.

[3]: https://www.khronos.org/registry/webgl/specs/1.0.3/

This library is not intended for production use, but instead to be wrapped by
additional libraries providing type-safety and error checking and handling.
Users should note that a returned `Nothing` value is indicative of a WebGL
failure and handle accordingly.

## Khronos IDL Parser and PureScript Printer

To build the parser/printer, ensure you have a recent version of Haskell and
`cabal-install` installed, and then:

```sh
> cabal sandbox init
> cabal install --only-dependencies
> cabal build
```

To run the generator on the included IDL and output the contents into the
correct PureScript modules:

```sh
> cabal run docs/WebGL-1.0.3.idl
```

If modifying the parser, be sure to regenerate the module documentation by
running the default Grunt task. Ensure you have a recent version of Node and
`npm` installed, and then:

```sh
> npm install
> bower install
> grunt
```

## Credits

This package is built upon the amazing amounts of hard work done by [Jurgen
Nicklisch-Franken][3], from whom the original parser/printer was forked.

[3]: https://github.com/jutaro
Loading