!jHrFHXWmTernaiJoME:matrix.org

Nim Language Development

465 Members
Writing your (pick 10) language, DSL, emulator, VM, JIT, interpreter, parser, codegen in Nim.3 Servers

Load older messages


SenderMessageTime
31 Jul 2021
@_discord_758341137563516988:t2bot.iocarmysilna#0628 Is there a incremental compilation/query system library for nim like Rock for Haskell or Salsa for Rust? 13:18:01
@_discord_259277943275126785:t2bot.ioRika IC is being worked on for Nim if that is what you mean 13:21:37
@haxscramper:matrix.orghaxscramper
In reply to @_discord_758341137563516988:t2bot.io
Is there a incremental compilation/query system library for nim like Rock for Haskell or Salsa for Rust?
no, there is no such library
13:22:32
@haxscramper:matrix.orghaxscrampernim IC is different from salsa architecturally, but you can reuse the approach13:22:49
@haxscramper:matrix.orghaxscramperNim IC is mostly about "caching compiler run on disk"13:23:14
@haxscramper:matrix.orghaxscramperI'm not really familliar with salsa, just some surface research when I did something13:23:41
@_discord_758341137563516988:t2bot.iocarmysilna#0628 ah okay. would there be interest from the langdev community in such a library, or do people interested in this type of thing just use Rust or Haskell? 13:23:46
@haxscramper:matrix.orghaxscramper I personally even considered reimplementing salsa 13:24:10
@haxscramper:matrix.orghaxscramperIt seems like a very good part of the toolbox13:24:20
@haxscramper:matrix.orghaxscramperJust to clarify, we are talking about this https://github.com/salsa-rs/salsa ?13:24:54
@_discord_758341137563516988:t2bot.iocarmysilna#0628 yeah, specifically for me its use in a query-based responsive compiler architecture 13:25:43
@haxscramper:matrix.orghaxscramper
In reply to @haxscramper:matrix.org
It seems like a very good part of the toolbox
To elaborate - I don't think there is an interst now, mainly because it is not available, but compiler-as-a-service was considered for nim
13:26:01
@_discord_758341137563516988:t2bot.iocarmysilna#0628 Build systems a la carte and all that jazz 13:26:01
@haxscramper:matrix.orghaxscramperye, I also found this library based on this 13:26:13
@haxscramper:matrix.orghaxscramperbuild system paper & references13:26:22
@haxscramper:matrix.orghaxscramperand this one https://ollef.github.io/blog/posts/query-based-compilers.html13:26:50
@_discord_758341137563516988:t2bot.iocarmysilna#0628 I guess I'd be willing to take a stab at reimplementing salsa, if there was interest outside of myself for it 13:27:15
@_discord_758341137563516988:t2bot.iocarmysilna#0628 Oh yeah, that article's the main one everyone refers to 13:27:28
@_discord_758341137563516988:t2bot.iocarmysilna#0628 here's a long list of other resources I've accumulated, if you're interested
[Query-based compiler architectures](https://ollef.github.io/blog/posts/query-based-compilers.html)
[Build systems a la carte: Theory and Practice](https://www.cambridge.org/core/services/aop-cambridge-core/content/view/097CE52C750E69BD16B78C318754C7A4/S0956796820000088a.pdf/div-class-title-build-systems-a-la-carte-theory-and-practice-div.pdf)
[Three Architectures for a Responsive IDE](https://rust-analyzer.github.io/blog/2020/07/20/three-architectures-for-responsive-ide.html)
[Practical Algorithms for Incremental Software Development Environments](https://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/CSD-97-946.pdf)
[Efficient and Flexible Incremental Parsing](https://www.researchgate.net/profile/Sl-Graham/publication/2377179_Efficient_and_Flexible_Incremental_Parsing/links/004635294e13f23ef1000000/Efficient-and-Flexible-Incremental-Parsing.pdf)
[Incremental Analysis of Real Programming Languages](https://www.pc-freak.net/blog/files/NCR_ATM_terminals/www.thecorememory.com/Incremental_analyzis_of_RPL.pdf)
[Error Detection and Recovery in LR Parsers](https://what-when-how.com/compiler-writing/bottom-up-parsing-compiler-writing-part-13/)
[Automatic Error Recovery for LR Parsers](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.7206&rep=rep1&type=pdf)
[Compilers are Databases](https://www.youtube.com/watch?v=WxyyJyB_Ssc)
[Anders Hejlsberg on Modern Compiler Construction](https://www.youtube.com/watch?v=wSdV1M7n4gQ)
[Responsive compilers](https://www.youtube.com/watch?v=N6b44kMS6OM)
[A journey through incremental computation](https://www.youtube.com/watch?v=DSuX-LIAU-I)
Tree-Sitter - a new parsing system for programming tools 
 - https://www.youtube.com/watch?v=Jes3bD6P0To
 - https://www.youtube.com/watch?v=a1rC79DHpmY
 - https://www.youtube.com/watch?v=0CGzC_iss-8
[Making Fast Incremental Compiler for Huge Codebase](https://www.youtube.com/watch?v=S2dK5lLFD_0)
[How to load 1m lines of Ruby in 5s](https://www.youtube.com/watch?v=vVFEROmdCkQ)
[How Salsa works](https://www.youtube.com/watch?v=_muY4HjSqVw)
[Salsa in more depth](https://www.youtube.com/watch?v=i_IhACacPRY)
[Merlin: A language server for Ocaml](https://arxiv.org/pdf/1807.06702.pdf)
[Design of clangd](https://clangd.llvm.org/design/)
[Gradual typing for Ruby at Scale with Sorbet](https://www.youtube.com/watch?v=Gdx6by6tcvw)
[Codebase as Database: Turning the IDE Insiide Out with Datalog](https://petevilter.me/post/datalog-typechecking/)
13:28:57
@haxscramper:matrix.orghaxscramperI personally would be really interested. I started digging into this topic when I was doing additional research for my nimble RFC, and I wanted to propose integrated build system as well, instead of current task-based approach13:29:15
@_discord_758341137563516988:t2bot.iocarmysilna#0628 * here's a long list of other resources I've accumulated, if you're interested
[Query-based compiler architectures](https://ollef.github.io/blog/posts/query-based-compilers.html)
[Build systems a la carte: Theory and Practice](https://www.cambridge.org/core/services/aop-cambridge-core/content/view/097CE52C750E69BD16B78C318754C7A4/S0956796820000088a.pdf/div-class-title-build-systems-a-la-carte-theory-and-practice-div.pdf)
[Three Architectures for a Responsive IDE](https://rust-analyzer.github.io/blog/2020/07/20/three-architectures-for-responsive-ide.html)
[Practical Algorithms for Incremental Software Development Environments](https://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/CSD-97-946.pdf)
[Efficient and Flexible Incremental Parsing](https://www.researchgate.net/profile/Sl-Graham/publication/2377179_Efficient_and_Flexible_Incremental_Parsing/links/004635294e13f23ef1000000/Efficient-and-Flexible-Incremental-Parsing.pdf)
[Incremental Analysis of Real Programming Languages](https://www.pc-freak.net/blog/files/NCR_ATM_terminals/www.thecorememory.com/Incremental_analyzis_of_RPL.pdf)
[Error Detection and Recovery in LR Parsers](https://what-when-how.com/compiler-writing/bottom-up-parsing-compiler-writing-part-13/)
[Automatic Error Recovery for LR Parsers](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.7206&rep=rep1&type=pdf)
[Compilers are Databases](https://www.youtube.com/watch?v=WxyyJyB_Ssc)
[Anders Hejlsberg on Modern Compiler Construction](https://www.youtube.com/watch?v=wSdV1M7n4gQ)
[Responsive compilers](https://www.youtube.com/watch?v=N6b44kMS6OM)
[A journey through incremental computation](https://www.youtube.com/watch?v=DSuX-LIAU-I)
Tree-Sitter - a new parsing system for programming tools 
 - https://www.youtube.com/watch?v=Jes3bD6P0To
 - https://www.youtube.com/watch?v=a1rC79DHpmY
 - https://www.youtube.com/watch?v=0CGzC_iss-8
[Making Fast Incremental Compiler for Huge Codebase](https://www.youtube.com/watch?v=S2dK5lLFD_0)
[How to load 1m lines of Ruby in 5s](https://www.youtube.com/watch?v=vVFEROmdCkQ)
[How Salsa works](https://www.youtube.com/watch?v=_muY4HjSqVw)
[Salsa in more depth](https://www.youtube.com/watch?v=i_IhACacPRY)
[Merlin: A language server for Ocaml](https://arxiv.org/pdf/1807.06702.pdf)
[Design of clangd](https://clangd.llvm.org/design/)
[Gradual typing for Ruby at Scale with Sorbet](https://www.youtube.com/watch?v=Gdx6by6tcvw)
[Codebase as Database: Turning the IDE Insiide Out with Datalog](https://petevilter.me/post/datalog-typechecking/)
13:29:28
@haxscramper:matrix.orghaxscramper Meshed with optional feature-based dependencies and build sections it was quite close to what was proposed in the "build system a la carte" for dynamic dependency built 13:30:48
@_discord_758341137563516988:t2bot.iocarmysilna#0628 cool, I'll see what I can do 13:48:06
@_discord_199678698499080192:t2bot.iono name fits joined the room.14:40:14
@_discord_121678432504512512:t2bot.ioNCPlayz joined the room.18:56:11
@_discord_721413795284647946:t2bot.iodiego_garro joined the room.23:30:00
1 Aug 2021
@_discord_759754172249276448:t2bot.ioyusepgl joined the room.07:04:50
@_discord_715234412815450182:t2bot.ioDaniel Developer joined the room.17:45:56
@_discord_867294845889282068:t2bot.iomnimk joined the room.17:48:38
@_discord_298181645448773632:t2bot.iodave the knave joined the room.23:48:34

There are no newer messages yet.


Back to Room List