Encuentro práctico en Python o Common Lisp que puede enumerar el contenido de una biblioteca en tiempo de ejecución. ¿Tiene Haskell lo mismo, en particular desde un indicador de GHCI?¿Hay alguna manera de ver la lista de funciones en un módulo, en GHCI?
26
A
Respuesta
47
GHCi tiene una :browse
comando para listar el contenido de los módulos:
Prelude> :browse Data.List
(\\) :: (Eq a) => [a] -> [a] -> [a]
delete :: (Eq a) => a -> [a] -> [a]
deleteBy :: (a -> a -> Bool) -> a -> [a] -> [a]
deleteFirstsBy :: (a -> a -> Bool) -> [a] -> [a] -> [a]
elemIndex :: (Eq a) => a -> [a] -> Maybe Int
...
Prelude> :help
...
:browse[!] [[*]<mod>] display the names defined by module <mod>
(!: more details; *: all top-level names)
...
8
Dependiendo de exactamente qué información tiene la intención de extraer ... Si su versión de GHCi apoya para rellenar la ficha, entonces se puede usar eso para una lista de todas las funciones disponibles en un espacio de nombres:
Prelude> :m +Data.List
Prelude Data.List> Data.List.<PRESS TAB KEY HERE>
Display all 109 possibilities? (y or n) <PRESS n>
Prelude Data.List> Data.List.un<PRESS TAB KEY HERE>
Data.List.unfoldr Data.List.unlines Data.List.unzip3 Data.List.unzip6
Data.List.union Data.List.unwords Data.List.unzip4 Data.List.unzip7
Data.List.unionBy Data.List.unzip Data.List.unzip5
Cuestiones relacionadas
- 1. ¿Hay alguna manera de limitar la memoria, ghci puede tener?
- 2. ¿hay alguna manera de ver el origen de un módulo desde la consola de python?
- 3. Sphinx: lista de funciones en un módulo
- 4. ¿Hay alguna manera de que un módulo kernel encuentre direcciones de sección de otro módulo cargado?
- 5. PHP: ¿hay alguna manera de ver caracteres "invisibles" como \ n
- 6. ¿Hay alguna manera de ver cuánta memoria usa una variable?
- 7. ¿Hay alguna manera de ver los propios permisos svn?
- 8. ¿Hay alguna manera de ver el código fuente de un método desde la consola de Rails?
- 9. ¿Hay alguna manera de ver el origen de un archivo pcode (.p) en MATLAB?
- 10. ¿Hay una función de método/lista de funciones en Resharper?
- 11. ¿Hay alguna manera de construir una DLL tipo C desde un módulo de Python?
- 12. ¿Hay alguna manera de probar la referencia circular en JavaScript?
- 13. ¿Hay alguna manera de entrar en las funciones decoradas, omitiendo el código de decorador
- 14. ¿Hay alguna manera de ver qué funciones de Javascript (el nombre de las funciones) se ejecutan en tiempo real en el Inspector de Chrome?
- 15. ¿hay alguna manera de dormir() en un procedimiento almacenado?
- 16. ¿Hay alguna manera de evitar la búsqueda lineal en esto?
- 17. En GHC, ¿hay alguna forma de imprimir las exportaciones del módulo?
- 18. ¿Hay alguna manera de ver todos los archivos modificados en una rama en Git?
- 19. ¿Cómo enumerar todas las funciones en un módulo de Python?
- 20. ¿Hay alguna manera de encontrar un elemento en un documentFragment?
- 21. ¿Hay alguna manera de construir implícitamente un tipo en C#?
- 22. ¿Hay alguna manera de usar variables locales en los módulos?
- 23. ¿Hay alguna manera de animar en un widget de inicio?
- 24. Dado un módulo en pypi, ¿hay alguna manera de introspectar el módulo y mostrar todas las dependencias?
- 25. En Matplotlib, ¿hay alguna manera de conocer la lista de formato de salida disponible?
- 26. ¿Hay alguna manera de ver el contexto de apilamiento en IE/Firefox/Chrome/etc.?
- 27. ¿Hay alguna manera de ver un seguimiento de pila completo de Android?
- 28. ¿Hay alguna manera de evitar recursiones innecesarias?
- 29. ¿Hay alguna manera de evitar automáticamente entrar en ciertas funciones en Visual Studio?
- 30. ¿Hay alguna manera de negar un predicado?
Eso es gracias fresco – justinhj
en ghci (s) actual ': m + Data.List' su obsoleta. – EliuX
@EliuX ¿qué hay de improvisado? – user239558