semantic | Python library for extracting semantic information | Natural Language Processing library

 by   crm416 Python Version: 1.0.3 License: MIT

kandi X-RAY | semantic Summary

semantic is a Python library typically used in Artificial Intelligence, Natural Language Processing applications. semantic has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can install using 'pip install semantic' or download it from GitHub, PyPI.
Semantic is a Python library for extracting semantic information from text, such as dates and numbers. Full documentation is available on [PyPI] with a list of primary features and uses-cases below.
    Support
      Quality
        Security
          License
            Reuse
            Support
              Quality
                Security
                  License
                    Reuse

                      kandi-support Support

                        summary
                        semantic has a low active ecosystem.
                        summary
                        It has 67 star(s) with 20 fork(s). There are 11 watchers for this library.
                        summary
                        It had no major release in the last 12 months.
                        summary
                        There are 6 open issues and 4 have been closed. On average issues are closed in 526 days. There are 1 open pull requests and 0 closed requests.
                        summary
                        It has a neutral sentiment in the developer community.
                        summary
                        The latest version of semantic is 1.0.3
                        semantic Support
                          Best in #Natural Language Processing
                            Average in #Natural Language Processing
                            semantic Support
                              Best in #Natural Language Processing
                                Average in #Natural Language Processing

                                  kandi-Quality Quality

                                    summary
                                    semantic has 0 bugs and 0 code smells.
                                    semantic Quality
                                      Best in #Natural Language Processing
                                        Average in #Natural Language Processing
                                        semantic Quality
                                          Best in #Natural Language Processing
                                            Average in #Natural Language Processing

                                              kandi-Security Security

                                                summary
                                                semantic has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
                                                summary
                                                semantic code analysis shows 0 unresolved vulnerabilities.
                                                summary
                                                There are 0 security hotspots that need review.
                                                semantic Security
                                                  Best in #Natural Language Processing
                                                    Average in #Natural Language Processing
                                                    semantic Security
                                                      Best in #Natural Language Processing
                                                        Average in #Natural Language Processing

                                                          kandi-License License

                                                            summary
                                                            semantic is licensed under the MIT License. This license is Permissive.
                                                            summary
                                                            Permissive licenses have the least restrictions, and you can use them in most projects.
                                                            semantic License
                                                              Best in #Natural Language Processing
                                                                Average in #Natural Language Processing
                                                                semantic License
                                                                  Best in #Natural Language Processing
                                                                    Average in #Natural Language Processing

                                                                      kandi-Reuse Reuse

                                                                        summary
                                                                        semantic releases are not available. You will need to build from source code and install.
                                                                        summary
                                                                        Deployable package is available in PyPI.
                                                                        summary
                                                                        Build file is available. You can build the component from source.
                                                                        summary
                                                                        Installation instructions, examples and code snippets are available.
                                                                        summary
                                                                        It has 1070 lines of code, 102 functions and 13 files.
                                                                        summary
                                                                        It has high code complexity. Code complexity directly impacts maintainability of the code.
                                                                        semantic Reuse
                                                                          Best in #Natural Language Processing
                                                                            Average in #Natural Language Processing
                                                                            semantic Reuse
                                                                              Best in #Natural Language Processing
                                                                                Average in #Natural Language Processing
                                                                                  Top functions reviewed by kandi - BETA
                                                                                  kandi has reviewed semantic and discovered the below as its top functions. This is intended to give you an instant insight into semantic implemented functionality, and help decide if they suit your requirements.
                                                                                  • Extract days from a string .
                                                                                    • Extracts time information from a string .
                                                                                      • Parse a float .
                                                                                        • Preprocess input .
                                                                                          • Parse a number .
                                                                                            • Extracts all the units from a string .
                                                                                              • Convert to a quantity .
                                                                                                • Calculate the sum of numbers .
                                                                                                  • Parse a string .
                                                                                                    • Finalize options .
                                                                                                      Get all kandi verified functions for this library.
                                                                                                      Get all kandi verified functions for this library.

                                                                                                      semantic Key Features

                                                                                                      Semantic consists of four main modules, each of which corresponds to a different semantic extractor. The test suite (test.py) contains tons of examples for each of the four modules, but some sample use-cases are described below.

                                                                                                      semantic Examples and Code Snippets

                                                                                                      What is the scope of the `as` binding in an `except` statement or context manager?
                                                                                                      Pythondot imgLines of Code : 18dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      >>> from contextlib import contextmanager
                                                                                                      >>> @contextmanager
                                                                                                      ... def test():
                                                                                                      ...     yield
                                                                                                      ... 
                                                                                                      >>> with test() as a:
                                                                                                      ...     pass
                                                                                                      ... 
                                                                                                      >>> a # contains None; does not raise NameError
                                                                                                      >>> 
                                                                                                      >>> def func(): # similarly within a function
                                                                                                      ...     with test() as a:
                                                                                                      ...         pass
                                                                                                      ...     return a
                                                                                                      ... 
                                                                                                      >>> func()
                                                                                                      >>> 
                                                                                                      
                                                                                                      copy iconCopy
                                                                                                      except:
                                                                                                          print(e.__traceback__.tb_frame.f_locals)  # {'x': [], 'e': Exception()}
                                                                                                      
                                                                                                      def refcount_unchanged(x):
                                                                                                          try:
                                                                                                              raise Exception()
                                                                                                          except:
                                                                                                              pass
                                                                                                      
                                                                                                      def refcount_unchanged(x):
                                                                                                          try:
                                                                                                              raise Exception()
                                                                                                          except Exception as e:
                                                                                                              try:
                                                                                                                  pass
                                                                                                              finally:
                                                                                                                  e = None
                                                                                                                  del e
                                                                                                      
                                                                                                      def refcount_increases(x):
                                                                                                          e = Exception()
                                                                                                          try:
                                                                                                              raise e
                                                                                                          except:
                                                                                                              pass
                                                                                                          finally:   # +
                                                                                                              del e  # +
                                                                                                      
                                                                                                      def refcount_increases(x):
                                                                                                          e = Exception()
                                                                                                          try:
                                                                                                              raise e
                                                                                                          # except:               # -
                                                                                                          except Exception as e:  # +
                                                                                                              pass
                                                                                                      
                                                                                                      print(sys.getrefcount(b))
                                                                                                      print(gc.get_referrers(b)[0])  # 
                                                                                                      
                                                                                                      print(sys.getrefcount(b))
                                                                                                      print(gc.get_referrers(b)[0])  # {'x': [], 'e': Exception()}
                                                                                                      
                                                                                                      PIP failed to build package cytoolz
                                                                                                      Pythondot imgLines of Code : 4dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      python -m pip install --user cython
                                                                                                      python -m pip install --user cytoolz
                                                                                                      python -m pip install --user eth-brownie
                                                                                                      
                                                                                                      How to get 1 if there is nothing before the 'x' in an equation?
                                                                                                      Pythondot imgLines of Code : 13dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      a, b, c = map(
                                                                                                          lambda coeff: int(coeff) if coeff else 1,
                                                                                                          re.match(
                                                                                                              r"(-?\d*)x2\s*\+\s*(-?\d*)x\s*\+\s*(-?\d*)\s*=\s*0\s*$",
                                                                                                              input("...")
                                                                                                          ).groups()
                                                                                                      )
                                                                                                      
                                                                                                      equation_pattern = re.compile(r"(?P-?\d*)x2\s*\+\s*(?P-?\d*)x\s*\+\s*(?P-?\d*)\s*=\s*0\s*$")
                                                                                                      equation_string = input("...")
                                                                                                      match_result = equation_pattern.match(equation_string)
                                                                                                      a, b, c = map(lambda coeff: int(coeff) if coeff else 1, match_result.groups())
                                                                                                      
                                                                                                      Return a list from a for loop python
                                                                                                      Pythondot imgLines of Code : 30dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      for YearItem in years:
                                                                                                              for item in months:
                                                                                                                  # variable 'vars1' is assigned a new tuple in every iteration.
                                                                                                                  # 1. iteration: vars1 = ('01 JAN 2020')
                                                                                                                  # 2. iteration: vars1 = ('01 FEB 2020')
                                                                                                                  # last iteration: vars1 = ('01 MAR 2021')
                                                                                                                  vars1 = ('01 ' + item + ' ' + YearItem,)
                                                                                                              print(vars1)
                                                                                                      
                                                                                                      years =['2020', '2021']
                                                                                                      months = ['JAN','FEB','MAR']
                                                                                                      
                                                                                                      # create a new empty list
                                                                                                      vars1 = list()
                                                                                                      # iterate over all years and months
                                                                                                      for year in years:
                                                                                                          for month in months:
                                                                                                              # append a new element (= concatenated string) to the list created before
                                                                                                              vars1.append('01 ' + month + ' ' + year)
                                                                                                      # print the whole list (notice that print() is not indented!)
                                                                                                      print(vars1)
                                                                                                      
                                                                                                      from itertools import product
                                                                                                      
                                                                                                      years =['2020', '2021']
                                                                                                      months = ['JAN','FEB','MAR']
                                                                                                      
                                                                                                      vars1 = [f'01 {month} {year}' for year, month in product(years, months)]
                                                                                                      print(vars1)
                                                                                                      
                                                                                                      how to use release branch to increment version using setuptools_scm?
                                                                                                      Pythondot imgLines of Code : 20dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      [tool.setuptools_scm]
                                                                                                      version_scheme = "release-branch-semver"
                                                                                                      
                                                                                                      $ git tag 
                                                                                                      v1.0.0
                                                                                                      $ git checkout main 
                                                                                                      Already on 'main'
                                                                                                      $ python -m setuptools_scm
                                                                                                      1.1.0.dev1+gdaf07ef
                                                                                                      $ git checkout -b 1.0.1
                                                                                                      Switched to a new branch '1.0.1'
                                                                                                      $ python -m setuptools_scm
                                                                                                      1.0.1.dev1+gdaf07ef
                                                                                                      
                                                                                                      setup(
                                                                                                          use_scm_version={
                                                                                                              'version_scheme': 'release-branch-semver',
                                                                                                          },
                                                                                                      )
                                                                                                      
                                                                                                      how to use release branch to increment version using setuptools_scm?
                                                                                                      Pythondot imgLines of Code : 47dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      # pyproject.toml
                                                                                                      [build-system]
                                                                                                      requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2"]
                                                                                                      
                                                                                                      [tool.setuptools_scm]
                                                                                                      version_scheme = "release-branch-semver"
                                                                                                      
                                                                                                      python setup.py --version
                                                                                                      
                                                                                                      git checkout -b main
                                                                                                      git checkout -b v0.1.0
                                                                                                      
                                                                                                      git checkout -b v0.1
                                                                                                      
                                                                                                      # setup.cfg
                                                                                                      ...
                                                                                                      
                                                                                                      [options]
                                                                                                      setup_requires = setuptools_scm
                                                                                                      ...
                                                                                                      
                                                                                                      [options.extras_require]
                                                                                                      setup = setuptools_scm
                                                                                                      
                                                                                                      pip-compile --extra setup -o setup-requirements.txt
                                                                                                      
                                                                                                      pip-sync setup-requirements.txt
                                                                                                      
                                                                                                      # content of setup.py
                                                                                                      
                                                                                                      def myversion():
                                                                                                          from setuptools_scm.version import SEMVER_MINOR, guess_next_simple_semver, release_branch_semver_version
                                                                                                      
                                                                                                          def my_release_branch_semver_version(version):
                                                                                                              v = release_branch_semver_version(version)
                                                                                                              if v == version.format_next_version(guess_next_simple_semver, retain=SEMVER_MINOR):
                                                                                                                  return version.format_next_version(guess_next_simple_semver, fmt="{guessed}", retain=SEMVER_MINOR)
                                                                                                              return v
                                                                                                      
                                                                                                          return {
                                                                                                              'version_scheme': my_release_branch_semver_version,
                                                                                                              'local_scheme': 'no-local-version',
                                                                                                          }
                                                                                                      
                                                                                                      
                                                                                                      setup(use_scm_version=myversion)
                                                                                                      
                                                                                                      Comparing key values between nested dictionaries
                                                                                                      Pythondot imgLines of Code : 32dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      from collections import defaultdict
                                                                                                      
                                                                                                      classes = {
                                                                                                        "class1" : {
                                                                                                          "name" : "Math",
                                                                                                          "hour" : [4,5]
                                                                                                        },
                                                                                                        "class2" : {
                                                                                                          "name" : "Bio",
                                                                                                          "hour" : [3,4]
                                                                                                        },
                                                                                                        "class3" : {
                                                                                                          "name" : "Chem",
                                                                                                          "hour" : [5,6]
                                                                                                        }
                                                                                                      }
                                                                                                      
                                                                                                      hours = defaultdict(list)
                                                                                                      
                                                                                                      for c in classes.values():
                                                                                                          for hour in c['hour']:
                                                                                                              hours[hour].append(c['name'])
                                                                                                      
                                                                                                      {4: ['Math', 'Bio'], 5: ['Math', 'Chem'], 3: ['Bio'], 6: ['Chem']})        
                                                                                                      
                                                                                                      for hour, cs in hours.items():
                                                                                                          if len(cs) > 1:
                                                                                                              print(f"{' and '.join(cs)} overlap at hour {hour}")
                                                                                                      
                                                                                                      Math and Bio overlap at hour 4
                                                                                                      Math and Chem overlap at hour 5
                                                                                                      
                                                                                                      Development versions management in private pypi repository
                                                                                                      Pythondot imgLines of Code : 8dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      "major.minor" versioning with developmental releases, release candidates and post-releases for minor corrections:
                                                                                                      
                                                                                                      0.9
                                                                                                      1.0.dev1
                                                                                                      1.0.dev2
                                                                                                      1.0.dev3
                                                                                                      1.0.dev4
                                                                                                      
                                                                                                      Python Numpy broadcasting 4D array eating RAM
                                                                                                      Pythondot imgLines of Code : 5dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                                      copy iconCopy
                                                                                                      for i in range(imagearraydensity.shape[0]):
                                                                                                          imagearraydensity[i,...] = imagearrayraw[i,...].astype(np.float32)
                                                                                                      np.subtract(imagearraydensity, bcons[:, :, np.newaxis, np.newaxis], out=imagearraydensity, dtype=np.float32)
                                                                                                      np.divide(imagearraydensity, acons[:, :, np.newaxis, np.newaxis], out=imagearraydensity, dtype=np.float32)
                                                                                                      
                                                                                                      Community Discussions

                                                                                                      Trending Discussions on semantic

                                                                                                      PIP failed to build package cytoolz
                                                                                                      chevron right
                                                                                                      IntelliJ - Invalid source release: 17
                                                                                                      chevron right
                                                                                                      How can I use :~: to determine type equality in Haskell?
                                                                                                      chevron right
                                                                                                      Create-React-App with TypeScript failing to compile after importing Semantic UI
                                                                                                      chevron right
                                                                                                      Under what notion of equality are typeclass laws written?
                                                                                                      chevron right
                                                                                                      BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61 on Apple Arm
                                                                                                      chevron right
                                                                                                      How would you implement a lazy "range factory" for C++20 ranges that just calls a generator function?
                                                                                                      chevron right
                                                                                                      How to install the Bumblebee 2021.1.1 Android Studio Patch?
                                                                                                      chevron right
                                                                                                      What is the correct way to install Android Studio Bumblebee 2021.1.1 Patch 1
                                                                                                      chevron right
                                                                                                      TopAppBar flashing when navigating with Compose Navigation
                                                                                                      chevron right

                                                                                                      QUESTION

                                                                                                      PIP failed to build package cytoolz
                                                                                                      Asked 2022-Mar-26 at 18:26

                                                                                                      I'm trying to install eth-brownie using 'pipx install eth-brownie' but I get an error saying

                                                                                                      pip failed to build package: cytoolz
                                                                                                      Some possibly relevant errors from pip install:
                                                                                                          build\lib.win-amd64-3.10\cytoolz\functoolz.cp310-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals
                                                                                                          error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\link.exe' failed with exit code 1120
                                                                                                      

                                                                                                      I've had a look at the log file and it shows that it failed to build cytoolz. It also mentions "ALERT: Cython not installed. Building without Cython.". From my limited understanding Cytoolz is apart of Cython so i think the reason why the installation for eth-brownie failed is because it could not build cytoolz as it was trying to build it without Cython. The thing is I already have cython installed:

                                                                                                      C:\Users\alaiy>pip install cython
                                                                                                      Requirement already satisfied: cython in c:\python310\lib\site-packages (0.29.24)
                                                                                                      

                                                                                                      Extract from the log file (I can paste the whole thing but its lengthy):

                                                                                                      Building wheels for collected packages: bitarray, cytoolz, lru-dict, parsimonious, psutil, pygments-lexer-solidity, varint, websockets, wrapt
                                                                                                        Building wheel for bitarray (setup.py): started
                                                                                                        Building wheel for bitarray (setup.py): finished with status 'done'
                                                                                                        Created wheel for bitarray: filename=bitarray-1.2.2-cp310-cp310-win_amd64.whl size=55783 sha256=d4ae97234d659ed9ff1f0c0201e82c7e321bd3f4e122f6c2caee225172e7bfb2
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\1d\29\a8\5364620332cc833df35535f54074cf1e51f94d07d2a660bd6d
                                                                                                        Building wheel for cytoolz (setup.py): started
                                                                                                        Building wheel for cytoolz (setup.py): finished with status 'error'
                                                                                                        Running setup.py clean for cytoolz
                                                                                                        Building wheel for lru-dict (setup.py): started
                                                                                                        Building wheel for lru-dict (setup.py): finished with status 'done'
                                                                                                        Created wheel for lru-dict: filename=lru_dict-1.1.7-cp310-cp310-win_amd64.whl size=12674 sha256=6a7e7b2068eb8481650e0a2ae64c94223b3d2c018f163c5a0e7c1d442077450a
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\47\0a\dc\b156cb52954bbc1c31b4766ca3f0ed9eae9b218812bca89d7b
                                                                                                        Building wheel for parsimonious (setup.py): started
                                                                                                        Building wheel for parsimonious (setup.py): finished with status 'done'
                                                                                                        Created wheel for parsimonious: filename=parsimonious-0.8.1-py3-none-any.whl size=42724 sha256=f9235a9614af0f5204d6bb35b8bd30b9456eae3021b5c2a9904345ad7d07a49d
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\b1\12\f1\7a2f39b30d6780ae9f2be9a52056595e0d97c1b4531d183085
                                                                                                        Building wheel for psutil (setup.py): started
                                                                                                        Building wheel for psutil (setup.py): finished with status 'done'
                                                                                                        Created wheel for psutil: filename=psutil-5.8.0-cp310-cp310-win_amd64.whl size=246135 sha256=834ab1fd1dd0c18e574fc0fbf07922e605169ac68be70b8a64fb90c49ad4ae9b
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\12\a3\6d\615295409067d58a62a069d30d296d61d3ac132605e3a9555c
                                                                                                        Building wheel for pygments-lexer-solidity (setup.py): started
                                                                                                        Building wheel for pygments-lexer-solidity (setup.py): finished with status 'done'
                                                                                                        Created wheel for pygments-lexer-solidity: filename=pygments_lexer_solidity-0.7.0-py3-none-any.whl size=7321 sha256=46355292f790d07d941a745cd58b64c5592e4c24357f7cc80fe200c39ab88d32
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\36\fd\bc\6ff4fe156d46016eca64c9652a1cd7af6411070c88acbeabf5
                                                                                                        Building wheel for varint (setup.py): started
                                                                                                        Building wheel for varint (setup.py): finished with status 'done'
                                                                                                        Created wheel for varint: filename=varint-1.0.2-py3-none-any.whl size=1979 sha256=36b744b26ba7534a494757e16ab6e171d9bb60a4fe4663557d57034f1150b678
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\39\48\5e\33919c52a2a695a512ca394a5308dd12626a40bbcd288de814
                                                                                                        Building wheel for websockets (setup.py): started
                                                                                                        Building wheel for websockets (setup.py): finished with status 'done'
                                                                                                        Created wheel for websockets: filename=websockets-9.1-cp310-cp310-win_amd64.whl size=91765 sha256=a00a9c801269ea2b86d72c0b0b654dc67672519721afeac8f912a157e52901c0
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\79\f7\4e\873eca27ecd6d7230caff265283a5a5112ad4cd1d945c022dd
                                                                                                        Building wheel for wrapt (setup.py): started
                                                                                                        Building wheel for wrapt (setup.py): finished with status 'done'
                                                                                                        Created wheel for wrapt: filename=wrapt-1.12.1-cp310-cp310-win_amd64.whl size=33740 sha256=ccd729b6e3915164ac4994aef731f21cd232466b3f6c4823c9fda14b07e821c3
                                                                                                        Stored in directory: c:\users\alaiy\appdata\local\pip\cache\wheels\8e\61\d3\d9e7053100177668fa43216a8082868c55015f8706abd974f2
                                                                                                      Successfully built bitarray lru-dict parsimonious psutil pygments-lexer-solidity varint websockets wrapt
                                                                                                      Failed to build cytoolz
                                                                                                      Installing collected packages: toolz, eth-typing, eth-hash, cytoolz, six, pyparsing, eth-utils, varint, urllib3, toml, rlp, pyrsistent, pycryptodome, py, pluggy, parsimonious, packaging, netaddr, multidict, iniconfig, idna, hexbytes, eth-keys, colorama, charset-normalizer, certifi, base58, attrs, atomicwrites, yarl, typing-extensions, requests, python-dateutil, pytest, multiaddr, jsonschema, inflection, eth-rlp, eth-keyfile, eth-abi, chardet, bitarray, async-timeout, websockets, wcwidth, tomli, sortedcontainers, semantic-version, regex, pywin32, pytest-forked, pyjwt, pygments, protobuf, platformdirs, pathspec, mythx-models, mypy-extensions, lru-dict, ipfshttpclient, execnet, eth-account, dataclassy, click, asttokens, aiohttp, wrapt, web3, vyper, vvm, tqdm, pyyaml, pythx, python-dotenv, pytest-xdist, pygments-lexer-solidity, py-solc-x, py-solc-ast, psutil, prompt-toolkit, lazy-object-proxy, hypothesis, eth-event, eip712, black, eth-brownie
                                                                                                          Running setup.py install for cytoolz: started
                                                                                                          Running setup.py install for cytoolz: finished with status 'error'
                                                                                                      
                                                                                                      PIP STDERR
                                                                                                      ----------
                                                                                                      WARNING: The candidate selected for download or install is a yanked version: 'protobuf' candidate (version 3.18.0 at https://files.pythonhosted.org/packages/74/4e/9f3cb458266ef5cdeaa1e72a90b9eda100e3d1803cbd7ec02f0846da83c3/protobuf-3.18.0-py2.py3-none-any.whl#sha256=615099e52e9fbc9fde00177267a94ca820ecf4e80093e390753568b7d8cb3c1a (from https://pypi.org/simple/protobuf/))
                                                                                                      Reason for being yanked: This version claims to support Python 2 but does not
                                                                                                        ERROR: Command errored out with exit status 1:
                                                                                                         command: 'C:\Users\alaiy\.local\pipx\venvs\eth-brownie\Scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\alaiy\\AppData\\Local\\Temp\\pip-install-d1bskwa2\\cytoolz_f765f335272241adba2138f1920a35cd\\setup.py'"'"'; __file__='"'"'C:\\Users\\alaiy\\AppData\\Local\\Temp\\pip-install-d1bskwa2\\cytoolz_f765f335272241adba2138f1920a35cd\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\alaiy\AppData\Local\Temp\pip-wheel-pxzumeav'
                                                                                                             cwd: C:\Users\alaiy\AppData\Local\Temp\pip-install-d1bskwa2\cytoolz_f765f335272241adba2138f1920a35cd\
                                                                                                        Complete output (70 lines):
                                                                                                        ALERT: Cython not installed.  Building without Cython.
                                                                                                        running bdist_wheel
                                                                                                        running build
                                                                                                        running build_py
                                                                                                        creating build
                                                                                                        creating build\lib.win-amd64-3.10
                                                                                                        creating build\lib.win-amd64-3.10\cytoolz
                                                                                                        copying cytoolz\compatibility.py -> build\lib.win-amd64-3.10\cytoolz
                                                                                                        copying cytoolz\utils_test.py -> build\lib.win-amd64-3.10\cytoolz
                                                                                                      

                                                                                                      Any help would be appreciated!

                                                                                                      Edit: Found a solution. Cython appears to not be supported on Python 3.10 (ref https://github.com/eth-brownie/brownie/issues/1300 and https://github.com/cython/cython/issues/4046). I downgraded to Python 3.9.7 and eth-brownie installation worked!)

                                                                                                      ANSWER

                                                                                                      Answered 2022-Jan-02 at 09:59

                                                                                                      I used pip install eth-brownie and it worked fine, I didnt need to downgrade. Im new to this maybe I could be wrong but it worked fine with me.

                                                                                                      Source https://stackoverflow.com/questions/69875694

                                                                                                      QUESTION

                                                                                                      IntelliJ - Invalid source release: 17
                                                                                                      Asked 2022-Mar-17 at 13:46

                                                                                                      I've created a new Java project in IntelliJ with Gradle that uses Java 17. When running my app it has the error Cause: error: invalid source release: 17.

                                                                                                      My Settings

                                                                                                      I've installed openjdk-17 through IntelliJ and set it as my Project SDK.

                                                                                                      The Project language level has been set to 17 - Sealed types, always-strict floating-point semantics.

                                                                                                      In Modules -> Sources I've set the Language level to Project default (17 - Sealed types, always strict floating-point semantics).

                                                                                                      In Modules -> Dependencies I've set the Module SDK to Project SDK openjdk-17.

                                                                                                      In Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler I've set the Project bytecode version to 17.

                                                                                                      Gradle

                                                                                                      plugins {
                                                                                                          id 'org.springframework.boot' version '2.5.6'
                                                                                                          id 'io.spring.dependency-management' version '1.0.11.RELEASE'
                                                                                                          id 'java'
                                                                                                      }
                                                                                                      
                                                                                                      group = 'com.app'
                                                                                                      version = '0.0.1-SNAPSHOT'
                                                                                                      sourceCompatibility = '17'
                                                                                                      
                                                                                                      repositories {
                                                                                                          mavenCentral()
                                                                                                      }
                                                                                                      
                                                                                                      dependencies {
                                                                                                          implementation 'org.springframework.boot:spring-boot-starter-web'
                                                                                                          implementation 'org.springframework.boot:spring-boot-starter-websocket'
                                                                                                          testImplementation 'org.springframework.boot:spring-boot-starter-test'
                                                                                                          implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
                                                                                                          implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
                                                                                                      }
                                                                                                      
                                                                                                      test {
                                                                                                          useJUnitPlatform()
                                                                                                      }
                                                                                                      

                                                                                                      I've looked at all of the answers here but I can't seem to fix this. I must be missing something but I can't find it. I've not had any problems using Java 8 or 11.

                                                                                                      How do I resolve this?

                                                                                                      ANSWER

                                                                                                      Answered 2021-Oct-24 at 14:23

                                                                                                      The message typically entails that your JAVA_HOME environment variable points to a different Java version.

                                                                                                      Here are the steps to follow:

                                                                                                      • Close IntelliJ IDEA
                                                                                                      • Open a terminal window and check your JAVA_HOME variable value:
                                                                                                        • *nix system: echo $JAVA_HOME
                                                                                                        • Windows system: echo %JAVA_HOME%
                                                                                                      • The JAVA_HOME path should be pointing to a different path, then set it to the openjdk-17 path:
                                                                                                        • *nix system: export JAVA_HOME=/path/to/openjdk-17
                                                                                                        • Windows system: set JAVA_HOME=path\to\openjdk-17
                                                                                                      • Open your project again in IntelliJ IDEA
                                                                                                      • Make sure to set both source and target compatibility versions (not only the sourceCompatibility)

                                                                                                      You should be able to build your project.

                                                                                                      EDIT: Gradle Toolchain

                                                                                                      You may need also to instruct Gradle to use a different JVM than the one it uses itself by setting the Java plugin toolchain to your target version:

                                                                                                      // build.gradle
                                                                                                      java {
                                                                                                          toolchain {
                                                                                                              languageVersion = JavaLanguageVersion.of(17)
                                                                                                          }
                                                                                                      }
                                                                                                      

                                                                                                      Source https://stackoverflow.com/questions/69696321

                                                                                                      QUESTION

                                                                                                      How can I use :~: to determine type equality in Haskell?
                                                                                                      Asked 2022-Mar-16 at 09:24

                                                                                                      I'm trying to use :~: from Data.Type.Equality to determine type equality at compile time. My expectation is that it behaves along the line of Scala's standard way of determining type equality:

                                                                                                      case class Equals[A >: B <:B , B]()
                                                                                                      
                                                                                                      Equals[Int, Int]     // compiles fine
                                                                                                      Equals[String, Int]  // doesn't compile
                                                                                                      

                                                                                                      So I tried

                                                                                                      foo :: Int :~: Bool
                                                                                                      foo = undefined
                                                                                                      

                                                                                                      which I would expect to fail since Int :~: Bool is inhabitable. But it compiles just fine.

                                                                                                      • How is :~: supposed to work? The documentation of Data.Type.Equality is pretty impenetrable to me and I was not able to find a succinct example anywhere.

                                                                                                      • Maybe I'm completely off the track. In that case, how could I achieve the semantics of the Equals example in Haskell?

                                                                                                      ANSWER

                                                                                                      Answered 2022-Mar-16 at 09:24

                                                                                                      Much as we Haskellers often pretend otherwise, every normal1 type in Haskell is inhabited. That includes data Void, and it includes a :~: b for all a and b. Besides the polite values we usually acknowledge, there is also the bottom value.

                                                                                                      undefined :: a is one way of producing the bottom value in any type a. So in particular undefined :: Int :~: Bool, and thus your code is perfectly type correct.

                                                                                                      If you want a type equality that simply fails to compile if the equality can't be proved at compile time, then you want a type equality constraint (which is the ~ operator), not the :~: type. You use that like this:

                                                                                                      foo :: Int ~ Int => ()   -- compiles fine
                                                                                                      foo = ()
                                                                                                      
                                                                                                      bar :: Int ~ Bool => ()  -- does technically compile
                                                                                                      bar = ()
                                                                                                      

                                                                                                      bar compiles only because constraints are assumed in the body of a function that has the constraints. But any attempt to call bar requires the compiler is able to prove the constraints in order to compile the call. So this fails:

                                                                                                      baz :: ()
                                                                                                      baz = bar
                                                                                                      

                                                                                                      :~:, however, is not a constraint (it doesn't go left of the => arrow in types), but an ordinary type. a :~: b is the type of values that serve as a runtime proof that the type a is equal to the type b. If in fact they are not equal, your program won't fail to compile just before you expressed the type a :~: b; rather you just won't be able to actually come up with a value of that type (other than bottom).

                                                                                                      In particular, a :~: b is a type that has a data constructor: Refl. To usefully use it, you usually require a a :~: b as an argument. and then pattern match on it. Within the scope of the pattern match (i.e. the body of a case statement), the compiler will use the assumption that the two types are equal. Since pattern matching on the bottom value will never succeed (it might throw an exception, or it might compute forever), the fact that you can always provide bottom as a "proof" that a :~: b doesn't actually cause huge problems; you can lie to the compiler, but it will never execute code that depended on your lie.

                                                                                                      Examples corresponding to those in the OP would be:

                                                                                                      foo :: Int :~: Int -> ()
                                                                                                      foo proof
                                                                                                        = case proof of
                                                                                                            Refl  -> ()
                                                                                                      
                                                                                                      bar :: Int :~: Bool -> ()
                                                                                                      bar proof
                                                                                                        = case proof of
                                                                                                            Refl  -> ()
                                                                                                      

                                                                                                      bar can exist even though it needs an impossible proof. We can even call bar with something like bar undefined, making use of the bottom value in the type Int :~: Bool. This won't be detected as an error at compile time, but it will throw a runtime exception (if it's actually evaluated; lazy evaluation might avoid the error). Whereas foo can simply be called with foo Refl.

                                                                                                      :~: (and ~) is of course much more usefully used when the two types are (or contain) variables, rather than simple concrete types like Int and Bool. It's also frequently combined with something like Maybe so you have a way of expressing when the types are not proven to be equal. A slightly less trivial example would be:

                                                                                                      strange :: Maybe (a :~: b) -> a -> b -> [a]
                                                                                                      strange Nothing x _ = [x]
                                                                                                      strange (Just Refl) x y
                                                                                                        = [x, y]
                                                                                                      

                                                                                                      strange takes a maybe-proof that the types a and b are equal, and a value of each. If the maybe is Nothing, then the types might not be equal, so we can only put x in the list of a. If we get Just Refl, however, then a and b are actually the same type (inside the pattern match only!), so it's valid to put x and y in the same list.

                                                                                                      But this does show a feature of :~: that cannot be achieved with ~. We can still call strange even when we want to pass it two values of different types; we just in that case are forced to pass Nothing as the first value (or Just undefined, but that won't get us anything useful). It allows us to write code that contemplates that a and b could be equal, without forcing a compilation failure if they actually aren't. Whereas a ~ b (in the constraints) would only allow us to require that they definitely are equal, and provably so at compile time.

                                                                                                      1 Where "normal type" means a member of the kind Type AKA *.

                                                                                                      Source https://stackoverflow.com/questions/71493869

                                                                                                      QUESTION

                                                                                                      Create-React-App with TypeScript failing to compile after importing Semantic UI
                                                                                                      Asked 2022-Mar-15 at 08:26

                                                                                                      I've created a new React app by running npx create-react-app@latest --typescript . and I've run the project using npm start and it all works as expected. I ran npm install semantic-ui-react semantic-ui-css and that installs correctly.

                                                                                                      But when I add import 'semantic-ui-css/semantic.min.css'; to index.tsx as instructed, I get a failed to compile error.

                                                                                                      Here's my index.tsx file:

                                                                                                      import React from 'react';
                                                                                                      import ReactDOM from 'react-dom';
                                                                                                      import './index.css';
                                                                                                      import App from './App';
                                                                                                      import reportWebVitals from './reportWebVitals';
                                                                                                      import 'semantic-ui-css/semantic.min.css';
                                                                                                      
                                                                                                      ReactDOM.render(
                                                                                                        
                                                                                                          
                                                                                                        ,
                                                                                                        document.getElementById('root')
                                                                                                      );
                                                                                                      
                                                                                                      // If you want to start measuring performance in your app, pass a function
                                                                                                      // to log results (for example: reportWebVitals(console.log))
                                                                                                      // or send to an analytics endpoint.
                                                                                                      reportWebVitals();
                                                                                                      

                                                                                                      Everything else is untouched.

                                                                                                      If I remove import 'semantic-ui-css/semantic.min.css'; from line 6 of index.tsx it compiles correctly. I'm guessing this is a Webpack issue, but I'm new to Webpack and I'm not sure how to solve the issue. I've tried setting the project up from scratch again but I get the same results.

                                                                                                      I'm using react 17.0.2, react scripts 5.0.0, semantic-ui-react 2.0.4 and typescript 4.5.4. Is there something obvious that I'm missing that would fix this?

                                                                                                      And here is the error code I get:

                                                                                                      Failed to compile.
                                                                                                      
                                                                                                      Module build failed: UnhandledSchemeError: Reading from "data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=" is not handled by plugins (Unhandled scheme).
                                                                                                      Webpack supports "data:" and "file:" URIs by default.
                                                                                                      You may need an additional plugin to handle "data:" URIs.
                                                                                                      assets by path static/ 9.45 KiB
                                                                                                        asset static/js/node_modules_web-vitals_dist_web-vitals_js.chunk.js 6.88 KiB [emitted] 1 related asset
                                                                                                        asset static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg 2.57 KiB [emitted] (auxiliary name: main)
                                                                                                      asset index.html 1.62 KiB [emitted]
                                                                                                      asset asset-manifest.json 429 bytes [emitted]
                                                                                                      Entrypoint main (2.57 KiB) = 1 auxiliary asset
                                                                                                      cached modules 2.72 MiB (javascript) 1.66 MiB (asset) 31.4 KiB (runtime) [cached] 150 modules
                                                                                                      runtime modules 54 bytes 1 module
                                                                                                      modules by layer 4.38 KiB (javascript) 1 bytes (asset)
                                                                                                        ./src/index.tsx 1.82 KiB [built] [code generated]
                                                                                                        ./src/App.tsx 2.51 KiB [built] [code generated]
                                                                                                        data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwND4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA= 42 bytes (javascript) 1 bytes (asset) [built] [1 error]
                                                                                                      
                                                                                                      ERROR in data:application/x-font-ttf;charset=utf-8;;base64,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
                                                                                                      Module build failed: UnhandledSchemeError: Reading from "data:application/x-font-ttf;charset=utf-8;;base64,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" is not handled by plugins (Unhandled scheme).
                                                                                                      Webpack supports "data:" and "file:" URIs by default.
                                                                                                      You may need an additional plugin to handle "data:" URIs.
                                                                                                          at /Users/eamon/projects/frontend/node_modules/webpack/lib/NormalModule.js:825:25
                                                                                                          at Hook.eval [as callAsync] (eval at create (/Users/eamon/projects/frontend/node_modules/tapable/lib/HookCodeFactory.js:33:10), :16:1)
                                                                                                          at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/Users/eamon/projects/frontend/node_modules/tapable/lib/Hook.js:18:14)
                                                                                                          at Object.processResource (/Users/eamon/projects/frontend/node_modules/webpack/lib/NormalModule.js:822:8)
                                                                                                          at processResource (/Users/eamon/projects/frontend/node_modules/loader-runner/lib/LoaderRunner.js:220:11)
                                                                                                          at iteratePitchingLoaders (/Users/eamon/projects/frontend/node_modules/loader-runner/lib/LoaderRunner.js:171:10)
                                                                                                          at runLoaders (/Users/eamon/projects/frontend/node_modules/loader-runner/lib/LoaderRunner.js:397:2)
                                                                                                          at NormalModule._doBuild (/Users/eamon/projects/frontend/node_modules/webpack/lib/NormalModule.js:812:3)
                                                                                                          at NormalModule.build (/Users/eamon/projects/frontend/node_modules/webpack/lib/NormalModule.js:956:15)
                                                                                                          at /Users/eamon/projects/frontend/node_modules/webpack/lib/Compilation.js:1367:12
                                                                                                       @ ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[5].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[5].use[2]!./node_modules/source-map-loader/dist/cjs.js!./node_modules/semantic-ui-css/semantic.min.css 22:37-5903
                                                                                                       @ ./node_modules/semantic-ui-css/semantic.min.css 8:6-230 22:17-24 26:7-21 58:25-39 59:36-47 59:50-64 63:6-73:7 64:54-65 64:68-82 70:42-53 70:56-70 72:21-28 83:0-200 83:0-200 84:22-29 84:33-47 84:50-64 61:4-74:5
                                                                                                       @ ./src/index.tsx 9:0-42
                                                                                                      
                                                                                                      ERROR in [entry] [initial]
                                                                                                      Cannot read properties of undefined (reading 'get')
                                                                                                      during rendering of asset asset/inline|data:application/x-font-ttf;charset=utf-8;;base64,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
                                                                                                      TypeError: Cannot read properties of undefined (reading 'get')
                                                                                                      during rendering of asset asset/inline|data:application/x-font-ttf;charset=utf-8;;base64,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
                                                                                                          at /Users/eamon/projects/frontend/node_modules/webpack/lib/asset/AssetModulesPlugin.js:183:30
                                                                                                          at Hook.eval [as call] (eval at create (/Users/eamon/projects/frontend/node_modules/tapable/lib/HookCodeFactory.js:19:10), :12:16)
                                                                                                          at Hook.CALL_DELEGATE [as _call] (/Users/eamon/projects/frontend/node_modules/tapable/lib/Hook.js:14:14)
                                                                                                          at Compilation.getRenderManifest (/Users/eamon/projects/frontend/node_modules/webpack/lib/Compilation.js:4439:36)
                                                                                                          at /Users/eamon/projects/frontend/node_modules/webpack/lib/Compilation.js:4459:22
                                                                                                          at symbolIterator (/Users/eamon/projects/frontend/node_modules/neo-async/async.js:3482:9)
                                                                                                          at timesSync (/Users/eamon/projects/frontend/node_modules/neo-async/async.js:2297:7)
                                                                                                          at Object.eachLimit (/Users/eamon/projects/frontend/node_modules/neo-async/async.js:3463:5)
                                                                                                          at Compilation.createChunkAssets (/Users/eamon/projects/frontend/node_modules/webpack/lib/Compilation.js:4452:12)
                                                                                                          at /Users/eamon/projects/frontend/node_modules/webpack/lib/Compilation.js:3095:14
                                                                                                      
                                                                                                      webpack 5.65.0 compiled with 2 errors in 1597 ms
                                                                                                      Files successfully emitted, waiting for typecheck results...
                                                                                                      Issues checking in progress...
                                                                                                      No issues found.
                                                                                                      

                                                                                                      ANSWER

                                                                                                      Answered 2021-Dec-15 at 21:37

                                                                                                      Judging from this issue: CSS import breaks webpack 5 compilation
                                                                                                      I believe this is an issue with Semantic-UI-React and Webpack 5 (which is used by Create-React-App).

                                                                                                      The final answer in that issue is a suggestion to switch to Fomantic-UI 😅

                                                                                                      This should be reported into the upstream repo: https://github.com/Semantic-Org/Semantic-UI. The problem is that it's dead 🙄 Reasonable solution is to switch to https://github.com/fomantic/Fomantic-UI.

                                                                                                      https://github.com/Semantic-Org/Semantic-UI-React/issues/4287#issuecomment-935897619

                                                                                                      Source https://stackoverflow.com/questions/70367443

                                                                                                      QUESTION

                                                                                                      Under what notion of equality are typeclass laws written?
                                                                                                      Asked 2022-Feb-26 at 19:39

                                                                                                      Haskell typeclasses often come with laws; for instance, instances of Monoid are expected to observe that x <> mempty = mempty <> x = x.

                                                                                                      Typeclass laws are often written with single-equals (=) rather than double-equals (==). This suggests that the notion of equality used in typeclass laws is something other than that of Eq (which makes sense, since Eq is not a superclass of Monoid)

                                                                                                      Searching around, I was unable to find any authoritative statement on the meaning of = in typeclass laws. For instance:

                                                                                                      • The Haskell 2010 report does not even contain the word "law" in it
                                                                                                      • Speaking with other Haskell users, most people seem to believe that = usually means extensional equality or substitution but is fundamentally context-dependent. Nobody provided any authoritative source for this claim.
                                                                                                      • The Haskell wiki article on monad laws states that = is extensional, but, again, fails to provide a source, and I wasn't able to track down any way to contact the author of the relevant edit.

                                                                                                      The question, then: Is there any authoritative source on or standard for the semantics for = in typeclass laws? If so, what is it? Additionally, are there examples where the intended meaning of = is particularly exotic?

                                                                                                      (As a side note, treating = extensionally can get tricky. For instance, there is a Monoid (IO a) instance, but it's not really clear what extensional equality of IO values looks like.)

                                                                                                      ANSWER

                                                                                                      Answered 2022-Feb-24 at 22:30

                                                                                                      Typeclass laws are not part of the Haskell language, so they are not subject to the same kind of language-theoretic semantic analysis as the language itself.

                                                                                                      Instead, these laws are typically presented as an informal mathematical notation. Most presentations do not need a more detailed mathematical exposition, so they do not provide one.

                                                                                                      Source https://stackoverflow.com/questions/71258709

                                                                                                      QUESTION

                                                                                                      BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61 on Apple Arm
                                                                                                      Asked 2022-Feb-20 at 02:41

                                                                                                      I have installed Android Studio Canary 2020.3.1.22 and trying to run Flutter project on Apple Silicon(ARM) Mac. Unfortunately, it is giving me this error when I try to run default flutter counter app.

                                                                                                      Here is the error I am getting:

                                                                                                      Could not open settings generic class cache for settings file '/Users/khamidjonkhamidov/StudioProjects/dummy/android/settings.gradle' (/Users/khamidjonkhamidov/.gradle/caches/6.7/scripts/f0emg6u6oecmxqzgk5g9nn4ui).
                                                                                                      > BUG! exception in phase 'semantic analysis' in source unit '_BuildScript_' Unsupported class file major version 61
                                                                                                      

                                                                                                      Gradle version: 6.7 but I tried 7+ JDK version 17

                                                                                                      I would really appreciate your help)

                                                                                                      ANSWER

                                                                                                      Answered 2022-Jan-03 at 06:03

                                                                                                      Basically, I installed jdk using brew install java which was not compatible with my current gradle I guess. So

                                                                                                      1. I uninstalled java first using: brew uninstall java
                                                                                                      2. installed JDK 8 or JDK 11 from azul.
                                                                                                      3. Installed gradle: gradle-6.9-all.zip

                                                                                                      When done, everything worked smoothly.

                                                                                                      Source https://stackoverflow.com/questions/68597899

                                                                                                      QUESTION

                                                                                                      How would you implement a lazy "range factory" for C++20 ranges that just calls a generator function?
                                                                                                      Asked 2022-Feb-17 at 17:10

                                                                                                      I like the idea of the lazy ranges you can make with std::views::iota but was surprised to see that iota is currently the only thing like it in the standard; it is the only "range factory" besides views::single and views::empty. There is not currently, for example, the equivalent of std::generate as a range factory.

                                                                                                      I note however it is trivial to implement the semantics of generate by using a transform view on iota and just ignoring the value iota passes to transform i.e.

                                                                                                      #include 
                                                                                                      #include 
                                                                                                      #include 
                                                                                                      
                                                                                                      template
                                                                                                      auto generate1(const F& func) {
                                                                                                          return std::views::iota(0) | std::views::transform([&func](int) {return func(); });
                                                                                                      }
                                                                                                      
                                                                                                      std::random_device dev;
                                                                                                      std::mt19937 rng(dev());
                                                                                                      
                                                                                                      int main() {
                                                                                                      
                                                                                                          auto d6 = []() {
                                                                                                              static std::uniform_int_distribution<> dist(1, 6);
                                                                                                              return dist(rng);
                                                                                                          };
                                                                                                      
                                                                                                          for (int v : generate1(d6) | std::views::take(10)) {
                                                                                                              std::cout << v << ' ';
                                                                                                          }
                                                                                                          std::cout << '\n';
                                                                                                      }
                                                                                                      

                                                                                                      My questions is what would be "the real way" to implement something like this? To make a range view object that is pipeable that does not just use iota.

                                                                                                      I tried inheriting from ranges::view_interface -- no idea if this is the correct approach -- and just having it return a dummy iterator that calls a generator function but my code doesn't work because of the part where it needs to pipe the range view to std::views::take in order to not cause an infinite loop. The object I define here does not end up being pipeable.

                                                                                                      #include 
                                                                                                      #include 
                                                                                                      #include 
                                                                                                      
                                                                                                      template
                                                                                                      class generate2 : public std::ranges::view_interface>
                                                                                                      {
                                                                                                          using value_type = decltype(std::declval()());
                                                                                                      
                                                                                                          class iterator {
                                                                                                              const F* gen_func_;
                                                                                                          public:
                                                                                                              iterator(const F* f) : gen_func_(f)
                                                                                                              {}
                                                                                                      
                                                                                                              value_type operator*() const {
                                                                                                                  return (*gen_func_)();
                                                                                                              }
                                                                                                      
                                                                                                              bool operator!=(const iterator&) {
                                                                                                                  return true;
                                                                                                              }
                                                                                                      
                                                                                                              iterator& operator++() {
                                                                                                                  return *this;
                                                                                                              }
                                                                                                          };
                                                                                                      
                                                                                                          F generator_func_;
                                                                                                      
                                                                                                      public:
                                                                                                      
                                                                                                          generate2(const F& f) : generator_func_(f) {
                                                                                                          }
                                                                                                      
                                                                                                          iterator begin()  {
                                                                                                              return iterator(&generator_func_);
                                                                                                          }
                                                                                                      
                                                                                                          iterator end()  {
                                                                                                              return iterator(nullptr);
                                                                                                          }
                                                                                                      };
                                                                                                      
                                                                                                      std::random_device dev;
                                                                                                      std::mt19937 rng(dev());
                                                                                                      
                                                                                                      int main() {
                                                                                                      
                                                                                                          auto d6 = []() {
                                                                                                              static std::uniform_int_distribution<> dist(1, 6);
                                                                                                              return dist(rng);
                                                                                                          };
                                                                                                      
                                                                                                          // the following doesnt compile because of the pipe...
                                                                                                          for (int v : generate2(d6) | std::views::take(10)) { 
                                                                                                              std::cout << v << ' ';
                                                                                                          }
                                                                                                          std::cout << '\n';
                                                                                                      }
                                                                                                      

                                                                                                      ANSWER

                                                                                                      Answered 2022-Feb-17 at 17:10

                                                                                                      The reason why generate2 cannot work is that it does not model the range concept, that is, the type returned by its begin() does not model input_iterator, because input_iterator requires difference_type and value_type to exist and i++ is a valid expression.

                                                                                                      In addition, your iterator does not satisfy sentinel_for, which means that it cannot serve as its own sentinel, because sentinel_for requires semiregular which requires default_initializable, so you also need to add default constructors for it.

                                                                                                      You also need to rewrite bool operator!=(...) to bool operator==(...) const since operator!= does not reverse synthesize operator==. But it's easier to just use default_sentinel_t as sentinel in your case.

                                                                                                      if you add them to iterator you will find the code will be well-formed:

                                                                                                      class iterator {
                                                                                                       public:
                                                                                                        using value_type = decltype(std::declval()());
                                                                                                        using difference_type = std::ptrdiff_t;
                                                                                                        iterator() = default;
                                                                                                        void operator++(int);
                                                                                                        bool operator==(const iterator&) const {
                                                                                                          return false;
                                                                                                        }
                                                                                                        // ...
                                                                                                      };
                                                                                                      

                                                                                                      However, the operator*() of iterator does not meet the requirements of equality-preserving, that is to say, the results obtained by the two calls before and after are not equal, which means that this will be undefined behavior.

                                                                                                      You can refer to the implementation of ranges::istream_view to use a member variable to cache each generated result, then you only need to return the cached value each time iterator::operator*() is called.

                                                                                                      template
                                                                                                      class generate2 : public std::ranges::view_interface> {
                                                                                                       public:
                                                                                                        auto begin() {
                                                                                                          value_ = generator_func_();
                                                                                                          return iterator{*this};
                                                                                                        }
                                                                                                      
                                                                                                        std::default_sentinel_t end() const noexcept { return std::default_sentinel; }
                                                                                                      
                                                                                                        class iterator {
                                                                                                         public:
                                                                                                         //...
                                                                                                          value_type operator*() const {
                                                                                                            return parent_->value_;
                                                                                                          }
                                                                                                         private:
                                                                                                          generate2* parent_;
                                                                                                        };
                                                                                                      
                                                                                                       private:
                                                                                                         F generator_func_;
                                                                                                         std::remove_cvref_t> value_; 
                                                                                                      };
                                                                                                      

                                                                                                      Source https://stackoverflow.com/questions/71148130

                                                                                                      QUESTION

                                                                                                      How to install the Bumblebee 2021.1.1 Android Studio Patch?
                                                                                                      Asked 2022-Feb-10 at 19:28

                                                                                                      When I open Android Studio I receive a notification saying that an update is available:

                                                                                                      The latest stable release of Android Studio is now available for download.
                                                                                                      
                                                                                                      Android Studio Bumblebee | 2021.1.1 Patch 1 is a major new release and includes performance improvements, bug fixes and new features.
                                                                                                      
                                                                                                      - Intellij 2021.1.1 Platform Update
                                                                                                      - New Device Manager
                                                                                                      - ADB over Wi-Fi
                                                                                                      - Run Instrumented Tests in Android Studio using Gradle
                                                                                                      - Android Gradle Plugin Upgrade Assistant now updates API usage
                                                                                                      - Non-Transitive R classes on for new projects
                                                                                                      - Apple Silicon Support Update
                                                                                                      - Jank detection track in Profilers
                                                                                                      - Profileable app profiling support in Studio Profilers
                                                                                                      - Network Inspection and ability to capture Layout Inspector snapshots
                                                                                                      - Support for Compose semantics in the Layout Inspector
                                                                                                      - Interactive Preview
                                                                                                      - Animated Vector Drawables Preview
                                                                                                      - Updated Device picker for Design Tools
                                                                                                      
                                                                                                      Important After updating, you need to restart Android Studio to apply any memory settings you migrate from an earlier version of the IDE.
                                                                                                      Release Notes
                                                                                                      

                                                                                                      However when I click on the Download button it opens a web page to re-download the whole program instead of updating it. It's a bit confusing because it's a minor update.

                                                                                                      ANSWER

                                                                                                      Answered 2022-Feb-10 at 11:09

                                                                                                      This issue was fixed by Google (10 February 2022).

                                                                                                      You can now update Android Studio normally.

                                                                                                      Thank you all for helping to bring this problem to Google's attention.

                                                                                                      Source https://stackoverflow.com/questions/71006400

                                                                                                      QUESTION

                                                                                                      What is the correct way to install Android Studio Bumblebee 2021.1.1 Patch 1
                                                                                                      Asked 2022-Feb-10 at 11:10

                                                                                                      I am sorry but I am really confused and leery now, so I am resorting to SO to get some clarity.

                                                                                                      I am running Android Studio Bumblebee and saw a notification about a major new release wit the following text:

                                                                                                      Android Studio Bumblebee | 2021.1.1 Patch 1 is a major new release and includes performance improvements, bug fixes and new features.
                                                                                                      Intellij 2021.1.1 Platform Update
                                                                                                      New Device Manager
                                                                                                      ADB over Wi-Fi
                                                                                                      Run Instrumented Tests in Android Studio using Gradle
                                                                                                      Android Gradle Plugin Upgrade Assistant now updates API usage
                                                                                                      Non-Transitive R classes on for new projects
                                                                                                      Apple Silicon Support Update
                                                                                                      Jank detection track in Profilers
                                                                                                      Profileable app profiling support in Studio Profilers
                                                                                                      Network Inspection and ability to capture Layout Inspector snapshots
                                                                                                      Support for Compose semantics in the Layout Inspector
                                                                                                      Interactive Preview
                                                                                                      Animated Vector Drawables Preview
                                                                                                      Updated Device picker for Design Tools
                                                                                                      Important After updating, you need to restart Android Studio to apply any memory settings you migrate from an earlier version of the IDE.
                                                                                                      

                                                                                                      When I click "Release Notes", I see "This minor update includes the following bug fixes:...". However, when I click "Download", a download page is opened. I am really puzzled by this because I thought a minor update would not require installing the entire thing. The notes for Android Studio - Bumblebee | 2021.1.1 Patch 1 indicates downloading the entire package is not needed:

                                                                                                      If you already have an Android Studio build on the Stable channel, you can get the update by clicking Help > Check for Update (Android Studio

                                                                                                      Check for Updates on macOS). Otherwise, you can download it here.

                                                                                                      I did a search and found people are having poor experiences with this update. Could anyone shed some light on this before I plunge into a potential disaster?

                                                                                                      I am eager to update Bumblebee because it keeps crashing.

                                                                                                      ANSWER

                                                                                                      Answered 2022-Feb-10 at 11:10

                                                                                                      This issue was fixed by Google (10 February 2022).

                                                                                                      You can now update Android Studio normally.

                                                                                                      Source https://stackoverflow.com/questions/70999801

                                                                                                      QUESTION

                                                                                                      TopAppBar flashing when navigating with Compose Navigation
                                                                                                      Asked 2022-Feb-01 at 14:52

                                                                                                      I have 2 screens which both have their own Scaffold and TopAppBar. When I navigate between them using the Jetpack Navigation Compose library, the app bar flashes. Why does it happen and how can I get rid of this?

                                                                                                      Code:

                                                                                                      Navigation:

                                                                                                      @Composable
                                                                                                      fun TodoNavHost(
                                                                                                          navController: NavHostController,
                                                                                                          modifier: Modifier = Modifier
                                                                                                      ) {
                                                                                                          NavHost(
                                                                                                              navController = navController,
                                                                                                              startDestination = TodoScreen.TodoList.name,
                                                                                                              modifier = modifier
                                                                                                          ) {
                                                                                                              composable(TodoScreen.TodoList.name) {
                                                                                                                  TodoListScreen(
                                                                                                                      onTodoEditClicked = { todo ->
                                                                                                                          navController.navigate("${TodoScreen.AddEditTodo.name}?todoId=${todo.id}")
                                                                                                                      },
                                                                                                                      onFabAddNewTodoClicked = {
                                                                                                                          navController.navigate(TodoScreen.AddEditTodo.name)
                                                                                                                      }
                                                                                                                  )
                                                                                                              }
                                                                                                              composable(
                                                                                                                  "${TodoScreen.AddEditTodo.name}?todoId={todoId}", 
                                                                                                                  arguments = listOf(
                                                                                                                      navArgument("todoId") {
                                                                                                                          type = NavType.LongType
                                                                                                                          defaultValue = -1L
                                                                                                                      }
                                                                                                                  )
                                                                                                              ) {
                                                                                                                  AddEditTodoScreen(
                                                                                                                      onNavigateUp = {
                                                                                                                          navController.popBackStack() 
                                                                                                                      },
                                                                                                                      onNavigateBackWithResult = { result ->
                                                                                                                          navController.navigate(TodoScreen.TodoList.name)
                                                                                                                      }
                                                                                                                  )
                                                                                                              }
                                                                                                          }
                                                                                                      }
                                                                                                      

                                                                                                      Todo list screen Scaffold with TopAppBar:

                                                                                                      @Composable
                                                                                                      fun TodoListBody(
                                                                                                          todos: List,
                                                                                                          todoExpandedStates: Map,
                                                                                                          onTodoItemClicked: (Todo) -> Unit,
                                                                                                          onTodoCheckedChanged: (Todo, Boolean) -> Unit,
                                                                                                          onTodoEditClicked: (Todo) -> Unit,
                                                                                                          onFabAddNewTodoClicked: () -> Unit,
                                                                                                          onDeleteAllCompletedConfirmed: () -> Unit,
                                                                                                          modifier: Modifier = Modifier,
                                                                                                          errorSnackbarMessage: String = "",
                                                                                                          errorSnackbarShown: Boolean = false
                                                                                                      ) {
                                                                                                      
                                                                                                          var menuExpanded by remember { mutableStateOf(false) }
                                                                                                          var showDeleteAllCompletedConfirmationDialog by rememberSaveable { mutableStateOf(false) }
                                                                                                      
                                                                                                          Scaffold(
                                                                                                              modifier,
                                                                                                              topBar = {
                                                                                                                  TopAppBar(
                                                                                                                      title = { Text("My Todos") },
                                                                                                                      actions = {
                                                                                                                          IconButton(
                                                                                                                              onClick = { menuExpanded = !menuExpanded },
                                                                                                                              modifier = Modifier.semantics {
                                                                                                                                  contentDescription = "Options Menu"
                                                                                                                              }
                                                                                                                          ) {
                                                                                                                              Icon(Icons.Default.MoreVert, contentDescription = "Show menu")
                                                                                                                          }
                                                                                                                          DropdownMenu(
                                                                                                                              expanded = menuExpanded,
                                                                                                                              onDismissRequest = { menuExpanded = false }) {
                                                                                                                              DropdownMenuItem(
                                                                                                                                  onClick = {
                                                                                                                                      showDeleteAllCompletedConfirmationDialog = true
                                                                                                                                      menuExpanded = false
                                                                                                                                  },
                                                                                                                                  modifier = Modifier.semantics {
                                                                                                                                      contentDescription = "Option Delete All Completed"
                                                                                                                                  }) {
                                                                                                                                  Text("Delete all completed")
                                                                                                                              }
                                                                                                                          }
                                                                                                                      }
                                                                                                      
                                                                                                                  )
                                                                                                              },
                                                                                                      [...]
                                                                                                      

                                                                                                      Add/edit screen Scaffold with TopAppBar:

                                                                                                      @Composable
                                                                                                      fun AddEditTodoBody(
                                                                                                          todo: Todo?,
                                                                                                          todoTitle: String,
                                                                                                          setTitle: (String) -> Unit,
                                                                                                          todoImportance: Boolean,
                                                                                                          setImportance: (Boolean) -> Unit,
                                                                                                          onSaveClick: () -> Unit,
                                                                                                          onNavigateUp: () -> Unit,
                                                                                                          modifier: Modifier = Modifier
                                                                                                      ) {
                                                                                                          Scaffold(
                                                                                                              modifier,
                                                                                                              topBar = {
                                                                                                                  TopAppBar(
                                                                                                                      title = { Text(todo?.let { "Edit Todo" } ?: "Add Todo") },
                                                                                                                      actions = {
                                                                                                                          IconButton(onClick = onSaveClick) {
                                                                                                                              Icon(Icons.Default.Save, contentDescription = "Save Todo")
                                                                                                                          }
                                                                                                                      },
                                                                                                                      navigationIcon = {
                                                                                                                          IconButton(onClick = onNavigateUp) {
                                                                                                                              Icon(Icons.Default.ArrowBack, contentDescription = "Back")
                                                                                                                          }
                                                                                                                      }
                                                                                                                  )
                                                                                                              },
                                                                                                          ) { innerPadding ->
                                                                                                              BodyContent(
                                                                                                                  todoTitle = todoTitle,
                                                                                                                  setTitle = setTitle,
                                                                                                                  todoImportance = todoImportance,
                                                                                                                  setImportance = setImportance,
                                                                                                                  modifier = Modifier.padding(innerPadding)
                                                                                                              )
                                                                                                          }
                                                                                                      }
                                                                                                      

                                                                                                      ANSWER

                                                                                                      Answered 2021-Aug-03 at 11:33

                                                                                                      It is the expected behaviour. You are constructing two separate app bars for both the screens so they are bound to flash. This is not the correct way. The correct way would be to actually put the scaffold in your main activity and place the NavHost as it's content. If you wish to modify the app bar, create variables to hold state. Then modify them from the Composables. Ideally, store then in a viewmodel. That is how it is done in compose. Through variables.

                                                                                                      Thanks

                                                                                                      Source https://stackoverflow.com/questions/68633717

                                                                                                      Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                                                                                                      Vulnerabilities

                                                                                                      No vulnerabilities reported

                                                                                                      Install semantic

                                                                                                      Installing semantic is simple:.

                                                                                                      Support

                                                                                                      For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
                                                                                                      Find more information at:
                                                                                                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                                      Find more libraries
                                                                                                      Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                                      Save this library and start creating your kit
                                                                                                      Install
                                                                                                    • PyPI

                                                                                                      pip install semantic

                                                                                                    • CLONE
                                                                                                    • HTTPS

                                                                                                      https://github.com/crm416/semantic.git

                                                                                                    • CLI

                                                                                                      gh repo clone crm416/semantic

                                                                                                    • sshUrl

                                                                                                      git@github.com:crm416/semantic.git

                                                                                                    • Share this Page

                                                                                                      share link

                                                                                                      Consider Popular Natural Language Processing Libraries

                                                                                                      transformers

                                                                                                      by huggingface

                                                                                                      funNLP

                                                                                                      by fighting41love

                                                                                                      bert

                                                                                                      by google-research

                                                                                                      jieba

                                                                                                      by fxsjy

                                                                                                      Python

                                                                                                      by geekcomputers

                                                                                                      Try Top Libraries by crm416

                                                                                                      script

                                                                                                      by crm416JavaScript

                                                                                                      point-location

                                                                                                      by crm416Python

                                                                                                      online_boosting

                                                                                                      by crm416Python

                                                                                                      java-ml

                                                                                                      by crm416Java

                                                                                                      android-lite

                                                                                                      by crm416Java

                                                                                                      Compare Natural Language Processing Libraries with Highest Support

                                                                                                      transformers

                                                                                                      by huggingface

                                                                                                      bert

                                                                                                      by google-research

                                                                                                      allennlp

                                                                                                      by allenai

                                                                                                      flair

                                                                                                      by flairNLP

                                                                                                      spaCy

                                                                                                      by explosion

                                                                                                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                                      Find more libraries
                                                                                                      Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                                      Save this library and start creating your kit