From 8c6a1979eddadbb70195353fd3da2879e0a59e7c Mon Sep 17 00:00:00 2001 From: sergeych Date: Fri, 13 Jun 2025 19:08:19 +0400 Subject: [PATCH] published to our maven --- README.md | 37 +++++- .../kotlin/net/sergeych/lyng/SymbolSpace.kt | 13 --- .../kotlin/net/sergeych/lyng/TypeDecl.kt | 21 ---- lyng/build.gradle.kts | 2 +- {library => lynglib}/build.gradle.kts | 107 +++++++----------- .../kotlin/net/sergeych/lyng/AccessType.kt | 0 .../net/sergeych/lyng/ArgsDeclaration.kt | 0 .../kotlin/net/sergeych/lyng/Arguments.kt | 0 .../net/sergeych/lyng/BuildDoubleFromParts.kt | 0 .../kotlin/net/sergeych/lyng/Compiler.kt | 0 .../net/sergeych/lyng/CompilerContext.kt | 1 + .../kotlin/net/sergeych/lyng/Context.kt | 0 .../kotlin/net/sergeych/lyng/ListEntry.kt | 0 .../lyng/LoopBreakContinueException.kt | 0 .../kotlin/net/sergeych/lyng/Obj.kt | 0 .../kotlin/net/sergeych/lyng/ObjBool.kt | 0 .../kotlin/net/sergeych/lyng/ObjChar.kt | 0 .../kotlin/net/sergeych/lyng/ObjClass.kt | 0 .../kotlin/net/sergeych/lyng/ObjInstance.kt | 0 .../kotlin/net/sergeych/lyng/ObjInt.kt | 0 .../kotlin/net/sergeych/lyng/ObjList.kt | 0 .../kotlin/net/sergeych/lyng/ObjRange.kt | 0 .../net/sergeych/lyng/ObjRangeIterator.kt | 0 .../kotlin/net/sergeych/lyng/ObjReal.kt | 0 .../kotlin/net/sergeych/lyng/ObjString.kt | 0 .../kotlin/net/sergeych/lyng/Parser.kt | 0 .../kotlin/net/sergeych/lyng/Pos.kt | 1 + .../kotlin/net/sergeych/lyng/Script.kt | 0 .../kotlin/net/sergeych/lyng/ScriptError.kt | 0 .../kotlin/net/sergeych/lyng/Source.kt | 0 .../kotlin/net/sergeych/lyng/Token.kt | 0 .../kotlin/net/sergeych/lyng/TypeDecl.kt | 9 ++ .../kotlin/net/sergeych/lyng/Visibility.kt | 0 .../kotlin/net/sergeych/lyng/globals.kt | 0 .../kotlin/net/sergeych/lyng/statements.kt | 0 .../src/commonTest/kotlin/ScriptTest.kt | 0 .../src/jvmTest/kotlin/BookTest.kt | 0 .../src/jvmTest/kotlin/SamplesTest.kt | 0 settings.gradle.kts | 2 +- 39 files changed, 89 insertions(+), 104 deletions(-) delete mode 100644 library/src/commonMain/kotlin/net/sergeych/lyng/SymbolSpace.kt delete mode 100644 library/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt rename {library => lynglib}/build.gradle.kts (60%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/AccessType.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ArgsDeclaration.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Arguments.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/BuildDoubleFromParts.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt (99%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Context.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ListEntry.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/LoopBreakContinueException.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Obj.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjBool.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjChar.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjClass.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjInstance.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjInt.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjList.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjRange.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjRangeIterator.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjReal.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ObjString.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Parser.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt (98%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Script.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/ScriptError.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Source.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Token.kt (100%) create mode 100644 lynglib/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/Visibility.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/globals.kt (100%) rename {library => lynglib}/src/commonMain/kotlin/net/sergeych/lyng/statements.kt (100%) rename {library => lynglib}/src/commonTest/kotlin/ScriptTest.kt (100%) rename {library => lynglib}/src/jvmTest/kotlin/BookTest.kt (100%) rename {library => lynglib}/src/jvmTest/kotlin/SamplesTest.kt (100%) diff --git a/README.md b/README.md index 192d6cc..b4603a1 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,10 @@ class Point(x,y) { fun dist() { sqrt(x*x + y*y) } } Point(3,4).dist() //< 5 + +fun swapEnds(first, args..., last, f) { + f( last, ...args, first) +} ``` - extremely simple Kotlin integration on any platform @@ -31,16 +35,37 @@ and it is multithreaded on platforms supporting it (automatically, no code chang ## Integration in Kotlin multiplatform -### Add library +### Add dependency to your project -TBD +```kotlin +// update to current please: +val lyngVersion = "0.6.1-SNAPSHOT" + +repositories { + // ... + maven("https://gitea.sergeych.net/api/packages/SergeychWorks/maven") +} +``` + +And add dependency to the proper place in your project, it could look like: + +```kotlin +comminMain by getting { + dependencies { + // ... + implementation("net.sergeych:lynglib:$lyngVersion") + } +} +``` + +Now you can import lyng and use it: ### Execute script: ```kotlin -assertEquals("hello, world", eval(""" - "hello, " + "world" - """).toString()) +import net.sergeyh.lyng.* + +println(eval(""" "hello, " + "Lyng" """)) ``` ### Exchanging information @@ -49,6 +74,8 @@ Script is executed over some `Context`. Create instance of the context, add your specific vars and functions to it, an call over it: ```kotlin +import new.sergeych.lyng.* + // simple function val context = Context().apply { addFn("addArgs") { diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/SymbolSpace.kt b/library/src/commonMain/kotlin/net/sergeych/lyng/SymbolSpace.kt deleted file mode 100644 index 9ff22f6..0000000 --- a/library/src/commonMain/kotlin/net/sergeych/lyng/SymbolSpace.kt +++ /dev/null @@ -1,13 +0,0 @@ -package net.sergeych.lyng - - - -class Symbols( - unitType: UnitType, - val name: String, - val x: TypeDecl -) { - enum class UnitType { - Module, Function, Lambda - } -} \ No newline at end of file diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt b/library/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt deleted file mode 100644 index 8fbed99..0000000 --- a/library/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt +++ /dev/null @@ -1,21 +0,0 @@ -package net.sergeych.lyng - -sealed class TypeDecl { - // ?? - data class Fn(val argTypes: List, val retType: TypeDecl) : TypeDecl() - object Obj : TypeDecl() -} - -/* -To use in the compiler, we need symbol information when: - -- declaring a class: the only way to export its public/protected symbols is to know it in compiler time -- importing a module: actually, we cam try to do it in a more efficient way. - -Importing module: - -The moudule is efficiently a statement, that initializes it with all its symbols modifying some context. - -The thing is, we need only - - */ \ No newline at end of file diff --git a/lyng/build.gradle.kts b/lyng/build.gradle.kts index 1779948..ced753c 100644 --- a/lyng/build.gradle.kts +++ b/lyng/build.gradle.kts @@ -29,7 +29,7 @@ kotlin { sourceSets { val commonMain by getting { dependencies { - implementation(project(":library")) + implementation(project(":lynglib")) implementation(libs.okio) implementation(libs.clikt) diff --git a/library/build.gradle.kts b/lynglib/build.gradle.kts similarity index 60% rename from library/build.gradle.kts rename to lynglib/build.gradle.kts index f9e6a6f..8baa1ae 100644 --- a/library/build.gradle.kts +++ b/lynglib/build.gradle.kts @@ -1,5 +1,4 @@ import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING -import com.vanniktech.maven.publish.SonatypeHost import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.dsl.JvmTarget @@ -20,9 +19,10 @@ buildscript { plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) - alias(libs.plugins.vanniktech.mavenPublish) +// alias(libs.plugins.vanniktech.mavenPublish) kotlin("plugin.serialization") version "2.1.20" id("com.codingfeline.buildkonfig") version "0.17.1" + `maven-publish` } buildkonfig { @@ -62,7 +62,7 @@ kotlin { sourceSets { all { languageSettings.optIn("kotlinx.coroutines.ExperimentalCoroutinesApi") - languageSettings.optIn("kotlin.contracts.ExperimentalContracts::class") + languageSettings.optIn("kotlin.contracts.ExperimentalContracts") languageSettings.optIn("kotlin.ExperimentalUnsignedTypes") languageSettings.optIn("kotlin.coroutines.DelicateCoroutinesApi") } @@ -101,73 +101,54 @@ dependencies { implementation(libs.firebase.crashlytics.buildtools) } -mavenPublishing { - publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) - - signAllPublications() - - coordinates(group.toString(), "library", version.toString()) - - pom { - name = "Lyng language" - description = "Kotlin-bound scripting loanguage" - inceptionYear = "2025" -// url = "https://sergeych.net" - licenses { - license { - name = "XXX" - url = "YYY" - distribution = "ZZZ" +publishing { + val mavenToken by lazy { + File("${System.getProperty("user.home")}/.gitea_token").readText() + } + repositories { + maven { + credentials(HttpHeaderCredentials::class) { + name = "Authorization" + value = mavenToken } - } - developers { - developer { - id = "XXX" - name = "YYY" - url = "ZZZ" + url = uri("https://gitea.sergeych.net/api/packages/SergeychWorks/maven") + authentication { + create("Authorization", HttpHeaderAuthentication::class) } } - scm { - url = "XXX" - connection = "YYY" - developerConnection = "ZZZ" - } } } + +//mavenPublishing { +// publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL) // -//val projectVersion by project.extra(provider { -// // Compute value lazily -// (version as String) -//}) +// signAllPublications() // -//val generateBuildConfig by tasks.registering { -// // Declare outputs safely -// val outputDir = layout.buildDirectory.dir("generated/buildConfig/commonMain/kotlin") -// outputs.dir(outputDir) +// coordinates(group.toString(), "library", version.toString()) // -// val version = projectVersion.get() -// -// // Inputs: Version is tracked as an input -// inputs.property("version", version) -// -// doLast { -// val packageName = "net.sergeych.lyng.buildconfig" -// val packagePath = packageName.replace('.', '/') -// val buildConfigFile = outputDir.get().file("$packagePath/BuildConfig.kt").asFile -// -// buildConfigFile.parentFile?.mkdirs() -// buildConfigFile.writeText( -// """ -// |package $packageName -// | -// |object BuildConfig { -// | const val VERSION = "$version" -// |} -// """.trimMargin() -// ) +// pom { +// name = "Lyng language" +// description = "Kotlin-bound scripting loanguage" +// inceptionYear = "2025" +//// url = "https://sergeych.net" +// licenses { +// license { +// name = "XXX" +// url = "YYY" +// distribution = "ZZZ" +// } +// } +// developers { +// developer { +// id = "XXX" +// name = "YYY" +// url = "ZZZ" +// } +// } +// scm { +// url = "XXX" +// connection = "YYY" +// developerConnection = "ZZZ" +// } // } //} -// -//tasks.withType().configureEach { -// dependsOn(generateBuildConfig) -//} diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/AccessType.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/AccessType.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/AccessType.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/AccessType.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ArgsDeclaration.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ArgsDeclaration.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ArgsDeclaration.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ArgsDeclaration.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Arguments.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Arguments.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Arguments.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Arguments.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/BuildDoubleFromParts.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/BuildDoubleFromParts.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/BuildDoubleFromParts.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/BuildDoubleFromParts.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Compiler.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt similarity index 99% rename from library/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt index 0cab7fc..94c3d00 100644 --- a/library/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/CompilerContext.kt @@ -96,6 +96,7 @@ internal class CompilerContext(val tokens: List) { } } + @Suppress("NOTHING_TO_INLINE") inline fun addBreak() { breakFound = true } diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Context.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Context.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Context.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Context.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ListEntry.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ListEntry.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ListEntry.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ListEntry.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/LoopBreakContinueException.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/LoopBreakContinueException.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/LoopBreakContinueException.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/LoopBreakContinueException.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Obj.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Obj.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Obj.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Obj.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjBool.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjBool.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjBool.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjBool.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjChar.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjChar.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjChar.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjChar.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjClass.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjClass.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjClass.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjClass.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjInstance.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjInstance.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjInstance.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjInstance.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjInt.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjInt.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjInt.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjInt.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjList.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjList.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjList.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjList.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjRange.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjRange.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjRange.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjRange.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjRangeIterator.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjRangeIterator.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjRangeIterator.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjRangeIterator.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjReal.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjReal.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjReal.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjReal.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ObjString.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjString.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ObjString.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ObjString.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Parser.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Parser.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Parser.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Parser.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt similarity index 98% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt index 84da4f3..2c61d41 100644 --- a/library/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Pos.kt @@ -5,6 +5,7 @@ data class Pos(val source: Source, val line: Int, val column: Int) { return "${source.fileName}:${line+1}:${column}" } + @Suppress("unused") fun back(): Pos = if( column > 0) Pos(source, line, column-1) else if( line > 0) Pos(source, line-1, source.lines[line-1].length - 1) diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Script.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Script.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Script.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Script.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/ScriptError.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/ScriptError.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/ScriptError.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/ScriptError.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Source.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Source.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Source.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Source.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Token.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Token.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Token.kt diff --git a/lynglib/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt new file mode 100644 index 0000000..6da5640 --- /dev/null +++ b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/TypeDecl.kt @@ -0,0 +1,9 @@ +package net.sergeych.lyng + +// this is highly experimental and subject to complete redesign +// very soon +sealed class TypeDecl { + // ?? +// data class Fn(val argTypes: List, val retType: TypeDecl) : TypeDecl() + object Obj : TypeDecl() +} diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/Visibility.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/Visibility.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/Visibility.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/Visibility.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/globals.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/globals.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/globals.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/globals.kt diff --git a/library/src/commonMain/kotlin/net/sergeych/lyng/statements.kt b/lynglib/src/commonMain/kotlin/net/sergeych/lyng/statements.kt similarity index 100% rename from library/src/commonMain/kotlin/net/sergeych/lyng/statements.kt rename to lynglib/src/commonMain/kotlin/net/sergeych/lyng/statements.kt diff --git a/library/src/commonTest/kotlin/ScriptTest.kt b/lynglib/src/commonTest/kotlin/ScriptTest.kt similarity index 100% rename from library/src/commonTest/kotlin/ScriptTest.kt rename to lynglib/src/commonTest/kotlin/ScriptTest.kt diff --git a/library/src/jvmTest/kotlin/BookTest.kt b/lynglib/src/jvmTest/kotlin/BookTest.kt similarity index 100% rename from library/src/jvmTest/kotlin/BookTest.kt rename to lynglib/src/jvmTest/kotlin/BookTest.kt diff --git a/library/src/jvmTest/kotlin/SamplesTest.kt b/lynglib/src/jvmTest/kotlin/SamplesTest.kt similarity index 100% rename from library/src/jvmTest/kotlin/SamplesTest.kt rename to lynglib/src/jvmTest/kotlin/SamplesTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 880891d..5a5a11f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,5 +18,5 @@ dependencyResolutionManagement { } rootProject.name = "lyng" -include(":library") +include(":lynglib") include(":lyng")