| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* Revert "enable nimPreviewDotLikeOps (#19598)"
This reverts commit 6773ffa63d0b3ab8b8894e84ed417f4eaced9122.
* add deprecated message
Co-authored-by: flywind <43030857+xflywind@users.noreply.github.com>
|
| |
|
|
|
| |
Highlight Nim by default in Markdown code in .nim
|
|
|
|
|
| |
* fixes #20031; uint64 is an ordinal type since 1.0
* Update compiler/semstmts.nim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* remove shallowCopy for ARC/ORC
* use move
* fix
* more fixes
* typo
* Update lib/system.nim
* follow
* add nodestroy
* move
* copy string
* add a changelog entry
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
#+title: Octans
#+subtitle: Octans is a program to solve Algot's Wordplay (Wordsearch) puzzles
#+export_file_name: index
#+setupfile: ~/.emacs.d/org-templates/projects.org
| Website | https://andinus.nand.sh/octans |
| Source | https://git.tilde.institute/andinus/octans |
| GitHub (mirror) | https://github.com/andinus/octans |
* Demo
This was recorded with ~asciinema~.
[[https://asciinema.org/a/385500][https://asciinema.org/a/385500.png]]
+ Octans v0.2.3: [[https://andinus.unfla.me/resources/projects/octans/v0.2.3_2022-01-12_sample_input.mp4][Visualized Output]]
+ Octans v0.1.0 - finds 10 solutions to a puzzle:
https://asciinema.org/a/385598
+ Octans v0.1.0: https://asciinema.org/a/385500
+ Octans 2021-01-14: https://asciinema.org/a/384464
+ alt-link (download): https://andinus.nand.sh/static/octans
* Installation
Octans is released to CPAN, you can get it from there or install it from
source. In any case, ~zef~ is required to install the distribution.
You can run Octans without ~zef~. Just run ~raku -Ilib bin/octans~ from
within the source directory.
- *Note*: Octans requires ~WWW~ module. You can however chose to not install
it if you wish to run it locally. Checkout the ~without-www~ branch.
** Release
1. Run ~zef install octans~.
Octans should be installed, try running ~octans --version~ to confirm.
** From Source
You can either download the release archive generated by cgit/GitHub or
clone the project if you have ~git~ installed.
*** Without ~git~
1. Download the release:
- https://git.tilde.institute/andinus/octans
- https://github.com/andinus/octans/releases
2. Extract the file.
3. Run ~zef install .~ in source directory.
*** With ~git~
All commits will be signed by my [[https://andinus.nand.sh/static/D9AE4AEEE1F1B3598E81D9DFB67D55D482A799FD.asc][PGP Key]].
#+begin_src sh
# Clone the project.
git clone https://git.tilde.institute/andinus/octans
cd octans
# Install octans.
zef install .
#+end_src
* Documentation
** Implementation
Initially it went over the list of words & checked if they exist in the
grid. This was very slow.
Currently it walks the grid & checks if the current string exist in the
dictionary. This is faster for these reasons:
- The dictionary is sorted, we perform binary range search on the
dictionary to return the list of all words that start with specific
string.
- Starting positions are limited.
If the dictionary wasn't sorted then this probably would've been slower
than previous implementation.
The ~neighbors~ subroutine (=lib/Octans/Neighbors.rakumod=) was taken from
my AoC (Advent of Code) 2020's day-11 solution.
** Options
*** dict
Octans's default dictionary file is =/usr/share/dict/words=, use ~--dict~
flag to change the dictionary. The words in dictionary must be seperated
by a newline (=\n=) & sorted alphabetically.
*** visualize
Generates a video solution for the puzzle.
*** length
Minimum word length to look for. Default is 7.
*** path
The path to be passed must be a *readable file* or an *url* in either
format:
- Link when you view it from your local instance:
https://tilde.zone/web/statuses/105531207939242077
- Link from Algot's profile:
https://mastodon.art/@Algot/105333136907848390
*** verbose
This will increase verbosity.
* News
** v0.2.3 - 2022-01-12
+ Add visualize option.
~--visualize~ now generates a video solution for the puzzle using Cairo
and ffmpeg.
** v0.2.0 - 2021-03-04
+ Removed ~sample~ option
~--sample~ will not solve the sample puzzle.
+ Removed shorthand for verbose option
~-v~ won't work in ~v0.2.0~.
+ Change representation of visited squares
When ~--verbose~ was passed, it would print the solved puzzle with
visited squares replaced with fancy characters. Now it marks them by
adding:
- ~*~ to visited + gray squares (start positions)
- ~/~ to visited squares
+ Removed time taken
Time taken won't be printed anymore.
#+begin_quote
It was misleading because the time printed was not the time taken to
find that specific word, it was the time taken to find all the words
upto that word. It would reset for each starting position.
#+end_quote
** v0.1.4 - 2021-02-19
+ Fixed the puzzle parsing regex
The older regex fails to parse this puzzle:
https://mastodon.art/@Algot/105690195742318751.
** v0.1.3 - 2021-01-24
+ Added an option to specify minimum word length.
** v0.1.2 - 2021-01-20
+ Input puzzle can now be of any size & not restricted to 4x4 grid.
** v0.1.1 - 2021-01-20
+ Read puzzle from a file.
** v0.1.0 - 2021-01-19
+ Improved performance by using a better algorithm to find words in the
grid.
db3150ab6dbe449db4975866ee8a11'>fix #20002 (#20004) | metagn | 2022-07-15 | 1 | -0/+8 |
|
|
|
|
|
| |
While this fix seems innocent,
this unlocks the hidden behavior of
method calls not being able to call
gensym'ed routines inside templates.
|
|
|
|
|
| |
literal (#20019) [backport]
fixes streams.readDataStr accept a string literal
|
|
|
|
|
|
|
| |
* replace gcc asm with __asm__ and add a test
* update test case to specify gcc or clang and not cpp
Co-authored-by: daniel <danielclarke@wearepopgun.com>
|
|
|
|
|
|
|
| |
* allow dots in defined()
refs https://github.com/nim-lang/RFCs/issues/181
* mention accents in older versions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix nested finally handling in closureiters
* Fix CI
* review comment
* third time the charm
* Update compiler/closureiters.nim
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* default threads on
* make rst gcsafe
* ignore threads option for nimscript
* threads off
* use createShared for threads
* test without threads
* avr threds off
* avr threads off
* async threads off
* threads off
* fix ci
* restore option
* make CI pleased
* fix ic tests
* Update config.nims
* add changelog
* Update changelog.md
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* Fixes return values of execCmd on macos
* update tests to use existing structure
Co-authored-by: daniel <danielclarke@wearepopgun.com>
|
| |
|
| |
|
|
|
|
|
|
|
| |
(#19918)
* dec inLoop after exiting the while scope in computeLiveRanges
* add testcase
|
|
|
| |
close #11042; add testcase
|
|
|
| |
fix distinct test and manual
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#19902) [backport]
* revert #12217 since the root problem seems to have been fixed; fix #15974;fix #12551; fix #19464
* fix #16020; fix #16780
* fix tests and #16613
* fix #14553
* fix #19909; skip skipRegisterAddr
* fix #18641
|
|
|
| |
fix #19199; properly fold float conversion
|
|
|
|
|
| |
* test for #19046
* add threads flag
|
|
|
|
|
|
|
|
|
| |
* remove unused opcSubstr
* [js] add testcase for array indexDefect
* Revert "remove unused opcSubstr"
This reverts commit cb461f2545234d62c1e0b83318f3e5495c97de52.
|
|
|
| |
fix #19862; make widestrs consistent in refc and orc
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the default for the `last` parameter of various `find`
routines from `0` to `-1`. Previous default prevents limiting the search
to the first character. This is a logic error, as full text search was
performed for 2 *valid* values of `last`: `0` and `last.high()`.
Adds an overload for `initSkipTable` which returns a newly initialized
table. This encapsulates every single usage of a `var`-acting original
func in this module.
Co-authored-by: flywind <xzsflywind@gmail.com>
|
|
|
|
|
|
|
| |
* RST: improve simple tables
* nim 1.0 gotchas
* Still allow legacy boundaries like `----`
|
|
|
|
|
| |
Fixes #18201
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Refactor and doc package handling, module name mangling
* Consolidate, de-duplicate and extend package handling
* Alter how duplicate module names of a package are handled
* Alter how module names are mangled
* Fix crash when another package is named 'stdlib' (test case added)
* Doc what defines a package in the manual
Modules with duplicate names within a package used to be given 'fake'
packages to resolve conflicts. That prevented the ability to discern if
a module belonged to the current project package or a foreign package.
They now have the proper package owner and the names are mangled in a
consistent manner to prevent codegen clashes.
All module names are now mangled the same. Stdlib was treated special
before, but now it is same as any other package. This fixes a crash
when a foreign package is named 'stdlib'.
Module mangling is altered for both file paths and symbols used by the
backends.
Removed an unused module name to package mapping that may have been
intended for IC. The mapping was removed because it wasn't being used
and was complicating the issue of package modules with duplicate names
not having the proper package owner assigned.
* Fix some tests
* Refactor `packagehandling`
* Remove `packagehandling.withPackageName` and its uses
* Move module path mangling from `packagehandling` to `modulepaths`
* Move `options.toRodFile` to `ic` to break import cycle
* Changed import style to match preferred style
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* borrowed `$` to make Time string friendly
* added sep character parameter
* Revert "added sep character parameter"
This reverts commit 45f4b019a4883b6ba577ade1f94677266beb5960.
* added sep character parameter
* Revert "borrowed `$` to make Time string friendly"
This reverts commit 10e2e44c9a04970f38cf66556635bdbb50b69136.
* added uri tests and made changelong entry
* Update lib/pure/uri.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update lib/pure/uri.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update tests/stdlib/turi.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update tests/stdlib/turi.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix global destructor injection for JS backend
* Moved global destructors injection before the final call to transform and
generate JS code. It had previously been after and thus not no JS was
generated for them.
* Added some internal documentation of `jsgen`.
* Enable a current destructor test to cover the JS backend as well.
* Fixes the JS aspect of #17237.
* Fixed global destructor injection order for JS backend
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
|
|
| |
The test tasyncssl may fail on modern linux versions
as they require at least 2048 bit certificates.
A new certificate and private key with default values
has been added to meet this new requirement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
IANA is using id 0 for "HOPOPT" instead of "ip"
for some time now and those systems that still
support the old mapping will stop doing so at
some point in the future.
Some BSDs and openSUSE are already following this
change as per IANA list here:
https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
As new unixes (and maybe Windows, who knows) start
to adopt the updated IANA list, this will keep
failing from time to time, so it's better to
remove the "ip" check altogether.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* try using endsWith
* use memcmp
* add cache
* cleanup
* better
* minor
* fix
* improve test coverage for methods with ARC
|
| |
|
| |
|
|
|
|
|
| |
* Fix compile-time StringStream with ARC
* make readDataStr work with ARC, improve test
|
|
|
|
|
|
|
|
|
| |
1.6] (#19723)
* fix #19435; openArray wronyly registers typebounds
* add testcase
* don't create TypeBoundOps for tyOpenArray, tyVarargs
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Better error message and tests for bad await
* Use compiles to check if await is valid
* temp: disable windows noasync test
* Better error report, simplify test
Co-authored-by: flywind <xzsflywind@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* enable style:usages for stdlib tests
* freeAddrInfo
* more tests
* importc
* bufSize
* fix more
* => parseSql and renderSql
|
| |
|
| |
|
|
|
|
|
| |
* fix #17286 nim check -b:js works
* fix
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* stylecheck usages part two: stdlib cleanup
typeinfo.nim: importCompilerProc => importcompilerproc
nre.nim: newLineFlags => newlineFlags
system.nim: JSRoot => JsRoot
ref #19319
* prefer importCompilerProc
* fix stylecheck error with asyncdispatch
it is a partial regression since #12842
* add tests
* don't use echo in tests
* fix stylecheck bug with nre
* Update compiler/linter.nim
* no need to check dotexpr again
* neither did let/var/const
|
|
|
|
|
|
|
|
| |
* typetraits: add toSigned, toUnsigned
* improve and add tests
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: flywind <xzsflywind@gmail.com>
|