Git Product home page Git Product logo

tutorials's Introduction

Build Status

Lightweight Modular Staging (LMS) is a framework for runtime code generation and compiled DSLs.

How to build and run

  1. Install the SBT build tool:

    If you are using OS X and Homebrew, run brew install sbt.

    For other platforms, follow the instructions on the SBT website.

  2. Clone this repo and run the tests:

  • git clone https://github.com/scala-lms/tutorials.git lms-tutorials
  • cd lms-tutorials
  • sbt test

Browse the sources

tutorials's People

Contributors

dan-zheng avatar jnguyenx avatar namin avatar program52bc avatar sstucki avatar tiarkrompf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tutorials's Issues

Correction of a small spelling problem

hi, i find a small spelling problem:
in las-tutorials/src/data/README.md , we should use n_grCam instead of n_gram

Right:

mysql>select * from 1gram_a where n_grCam = 'Auswanderung'

mysql> select n_grCam, match_count from 1gram_a where n_grCam = 'Auswanderung';

Error:

mysql>select * from 1gram_a where n_gram = 'Auswanderung'

mysql> select n_gram, match_count from 1gram_a where n_gram = 'Auswanderung'

thank you (^-^)

Importing lms_lang.lms. Wrong versions sbt is using (2.12)

I locally imported lms.core and it is under my ~/.ivy2/local/org.scala-lang.lms/lms-core_2.11/1.0.0 & 1.1.0-SNAPSHOT/. (I published two versions of that) And when I try to include one of them in my build.sbt file like
"libraryDependencies += "org.scala-lang.lms" %% "lms-core" % "1.0.0-SNAPSHOT""
Sbt always gave me this error:
"/Users/xxx/.ivy2/local/org.scala-lang.lms/lms-core_2.12/1.0.0-SNAPSHOT/ivys/ivy.xml"
I've tried "sbt clean" although seemingly useless. When sbt always try to retrieve lms-core_2.12 instead of 2.11? Can I specify that version in the build.sbt file?

Unresolved Dependencies: EPFL#lms_2.10;0.3-SNAPSHOT

Hi!

I run sbt test and get

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: EPFL#lms_2.10;0.3-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: EPFL#lms_2.10;0.3-SNAPSHOT: not found
[error] Total time: 1 s, completed 25.05.2013 21:07:51

How to fix it?

Sharing the implementation between interpreted and staged versions

Regarding SQL compiler example: in your opinion, what would it take to make it possible to share code between interpreted and staged implementations (applying a DRY principle)? In my case it would be interesting to be able to execute stuff in current runtime to see the result before generating something.

sbt test fails!

[error] ..../tutorials/src/test/scala/lms/tutorial/dslapi.scala:28: value src is not a member of StringContext
[error] case ObjHashCode(o) => emitValDef(sym, src"$o.##")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/dslapi.scala:37: value src is not a member of StringContext
[error] case StrSubHashCode(o,len) => emitValDef(sym, src"hash($o,$len)")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/dslapi.scala:107: value src is not a member of StringContext
[error] emitValDef(sym, src"printf(${Const(f)::xs})")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/dslapi.scala:137: not found: type CGenStaticData
[error] with CGenStaticData with CGenVariables
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/query_optc.scala:65: value && is not a member of QueryCompiler.this.Rep[Boolean]
[error] while (i < len && data.charAt(i) == data2.charAt(i)) {
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/query_optc.scala:216: value && is not a member of QueryCompiler.this.Rep[Boolean]
[error] while (htable(pos) != -1 && !fieldsEqual(keys(htable(pos)),k)) {
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/query_staged.scala:47: value && is not a member of QueryCompiler.this.Rep[Boolean]
[error] def fieldsEqual(a: Fields, b: Fields) = (a zip b).foldLeft(unit(true)) { (a,b) => a && b._1 == b._2 }
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/query_staged.scala:147: value && is not a member of QueryCompiler.this.Rep[Boolean]
[error] while (htable(pos) != -1 && !fieldsEqual(keys(htable(pos)),k)) {
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/query_staged0.scala:47: value && is not a member of QueryCompiler.this.Rep[Boolean]
[error] def fieldsEqual(a: Fields, b: Fields) = (a zip b).foldLeft(unit(true)) { (a,b) => a && b._1 == b._2 }
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/regex.scala:137: value && is not a member of StagedRegexpMatcher.this.Rep[Boolean]
[error] while (!found && start < text.length) {
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/regex.scala:153: value && is not a member of StagedRegexpMatcher.this.Rep[Boolean]
[error] else if (start < text.length && matchchar(regexp(restart), text(start)))
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/regex.scala:163: value && is not a member of StagedRegexpMatcher.this.Rep[Boolean]
[error] while (!failed && !found && sstart < text.length) {
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/regex.scala:168: value && is not a member of StagedRegexpMatcher.this.Rep[Boolean]
[error] !failed && found
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/scanner.scala:87: value src is not a member of StringContext
[error] case ScannerNew(fn) => emitValDef(sym, src"new scala.lms.tutorial.Scanner($fn)")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/scanner.scala:88: value src is not a member of StringContext
[error] case ScannerNext(s, d) => emitValDef(sym, src"$s.next($d)")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/scanner.scala:89: value src is not a member of StringContext
[error] case ScannerHasNext(s) => emitValDef(sym, src"$s.hasNext")
[error] ^
[error] ..../tutorials/src/test/scala/lms/tutorial/scanner.scala:90: value src is not a member of StringContext
[error] case ScannerClose(s) => emitValDef(sym, src"$s.close")

I know that I am new but maybe it is not me!

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.