Loader for a kind of Idris IR.
Project description
idris-cam
Finally, we reached dependent types in Python community.
Install
pip install idris-python
Usage
Command: Idris-Python
Command: Run-Cam
## Example
Quite verbose for the lack of encapsulations, not a good example but I’m so busy..
Following example just revealed that I’ve alredy implmented such a big task.
module Main
import Cam.FFI
import Cam.IO
import Cam.Data.Collections
import Cam.Data.FCollections
import Cam.Data.Compat
import Data.Vect
import Data.HVect
%access export
main : IO ()
main = do
putStrLn $ show vect
sklearn <- camImport $ TheModule "sklearn.datasets"
load_iris <- camImportFrom sklearn "load_iris"
iris <- unsafeCall load_iris $ zero_ary
data' <- getattr iris "data"
tag <- getattr iris "target"
rfc <- let ensemble = camImport $ TheModule "sklearn.ensemble" in
camImportFrom !ensemble "RandomForestClassifier"
clf <- unsafeCall rfc zero_ary
fit <- getattr clf "fit"
unsafeCall fit . unsafe $ the (FList _) [data', tag]
score <- getattr clf "score"
value <- unsafeCall score . unsafe $ the (FList _) [data', tag] -- overfit
println value
where
vect : HVect [Int]
vect = the (HVect _) [1]
zero_ary : Unsafe
zero_ary = unsafe $ the (FList Unsafe) $ []
getattr' : IO Unsafe
getattr' = do
b <- camImport $ TheModule "builtins"
camImportFrom b "getattr"
getattr : Unsafe -> String -> IO Unsafe
getattr obj s =
let s = unsafe . the (Boxed String) $ s in
let args = unsafe . the (FHVect [_, _]) $ [obj, toText s] in
unsafeCall !getattr' args
You might got
[1]
0.99
If you run it as a file with command idris-python.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file idris_python-0.25-py3-none-any.whl
.
File metadata
- Download URL: idris_python-0.25-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd5b1d9a4fa571b4143dbba66db1635a6d1582e80376394fc781e52d467dedcc |
|
MD5 | 8b0fb42d8bf9e34ff8276f7674020bcd |
|
BLAKE2b-256 | ec3d53b6930fec3aec67d5d3a0a6fa83b616f66c3b6774354fb55495c95eea25 |