Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jokade authored Jan 31, 2018
1 parent 0828feb commit 013f206
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
# scalanative-obj-interop
This project is a protoype for a Scala Native interop layer that allows idiomatic Scala to be used with external object systems. Read [Scala Native Interop for External Object Systems](https://github.com/jokade/scala-native/blob/topic/external-objects-design/docs/design/external_objects_interop.rst#syntactic-sugar) for more information about the object systems targeted, and the interop concepts explored in this project.

### sbt Settings
```sbt
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

libraryDependencies += "de.surfice" %%% "scalanative-obj-interop" % "0.0.1" % "provided"
```

## General Notes
The extensions provided by this project use [macro annotations](http://docs.scala-lang.org/overviews/macros/annotations.html) to transform idiomatic Scala classes into the corresponding representation required for interop with the external object system.
Expand All @@ -27,3 +22,10 @@ This annotation will print out the generated code to the console during compilat

## Interop for "informal" C objects
There's a [blog post that explains the concepts of this type of interop](http://jokade.surfice.de/scala%20native/2018/01/10/idiomatic-gtk-bindings-for-scalanative/) using [Gtk+](http://www.gtk.org) as an example.

### sbt Settings
```sbt
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

libraryDependencies += "de.surfice" %%% "scalanative-interop-cobj" % "0.0.3"
```

0 comments on commit 013f206

Please sign in to comment.