4 ms·
> who needs interpretation when compile times are that fast! Well, interpretation is pretty useful for a REPL. And a REPL is not just useful to avoid compilati
by pathsjs 5y ago
> who needs interpretation when compile times are that fast!
Well, interpretation is pretty useful for a REPL. And a REPL is not just useful to avoid compilation, but also as a way to explore a new API. And, most importantly, to preserve the results of long computations when you do not know yet what to do with it. If computing a value takes half an hour, you certainly don't want to recompute it each time you change something. Rather, you keep an open session, such as a REPL or a notebook, and keep computing with the already existing value
- short_sells_poo 5y agoThis is exactly right. What is the REPL story with NIM? Having used a REPL, I cannot even imagine doing research & analytics without one. FWIW, this comparison between R, Pandas and Nim dataframes is quite encouraging: https://gist.github.com/Vindaar/6908c038707c7d8293049edb3d204f84 https://gist.github.com/Vindaar/6908c038707c7d8293049edb3d20... This is one of the aspects that self professed R/Python datascience contenders often get wrong. The very bare minimum is a well supported and thought out dataframe library. Without that, the language is basically dead in the water. Nim seems to have a very well thought out API that also avoids many of the annoying aspects of Pandas (e.g. the huge waste coming from eagerly computing each vectorized operation into separate arrays).
- sp33der89 5y agoMy statement was mostly an exaggeration, than an absolute truth. REPLs are really nice, but it's story with Nim is less nice. There is: https://github.com/inim-repl/INim https://github.com/inim-repl/INim and the builtin `nim secret`. There is also a Jupyter kernel: https://github.com/stisa/jupyternim https://github.com/stisa/jupyternim
- pietroppeter 5y agoI did quench (most of) my thirst for a Repl building a notebook system (plug): https://github.com/pietroppeter/nimib https://github.com/pietroppeter/nimib Based on that and using a book theme, scinim getting started documentation is being built, e.g.: https://scinim.github.io/getting-started/basics/data_wrangling.html https://scinim.github.io/getting-started/basics/data_wrangli...
- poulpy123 5y agoActually, the bare minimum is a well supported and centralised numeric library providing arrays, matrix and the base tools
- short_sells_poo 5y agoPerhaps for some things. Most of my work is time series analysis and I refuse to use an environment where samples are not explicitly labelled/timestamped and where the tooling does not support seamless operations that take this labeling into account. So for my use case, a fully featured dataframe library is indeed a must.
- sp33der89 5y agoSee my comment from the other reply on this question for potential solutions, but as an fyi for those curious, Nim does come with a VIM that comes in very handy for such purposes: https://nim-lang.org/docs/nims.html https://nim-lang.org/docs/nims.html
- h2odragon 5y ago> don't want to recompute it each time you change something True... May I introduce you to the filesystem?
- pathsjs 5y agoWow, what a great invention I have been missing! You made my day! :-)
- h2odragon 5y agoHad a project once where 70% or so of the 8 month runtime was de/serialization. 800gb or so data wad and 16gb of ram; all messily multiply interlinked and not even the indexes would fit into ram. it sucked. but the architecture that imposed meat we were surprisingly resilient to power outages.