minor refactoring

This commit is contained in:
sergeych committed 2025-06-09 16:25:23 +04:00
1 parent 60384060bf
commit 33fdb0934a
3 files changed
+90 -1

No files matched your search

@@ -0,0 +1,13 @@
package net.sergeych.lyng
class Symbols(
unitType: UnitType,
val name: String,
val x: TypeDecl
) {
enum class UnitType {
Module, Function, Lambda
}
}
@@ -1,5 +1,21 @@
package net.sergeych.lyng
sealed class TypeDecl {
// ??
data class Fn(val argTypes: List<ArgsDeclaration.Item>, 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
*/