#idris โ Public Fediverse posts
Live and recent posts from across the Fediverse tagged #idris, aggregated by home.social.
-
I should know this. Is there a good way to search the #idris pack-db for a type / function by name, ala hoogle?
I looked through the full list of packages, and I didn't see anything I though would contain Coyoneda and I checked contrib.
IIRC, I can use the repl to search, but that's only for packages that are already installed in the current pack "environment", and I'm trying to figure out what package to _add_ to my dependencies.
-
So, what language is everybody using for https://icfpcontest2026.com/ ?
I'm probably going to use #Haskell (GHC) but I think it would be fun to use #Idris
I know there are several teams that used to be #CPlusPlus but I think most of them have switched over to #Rust . Will someone try to bring #Zig, #Agda, or even #Lean to the party?
Give me other ideas for poll options in the replies and quotes. I'll start a poll 7 days before the contest starts.
-
let's say that i don't want to learn haskell because ghc is sloppying it up AI style but still want pedantic, mathematics focused functional programming. what options are there? i've heard of idris2 only.
#haskell #idris #functionalprogramming -
oi ya functional programming #FP boffins and FP-curious minds. Brisbane Functional Programming Group #BFPG Hack Day is on again, THIS SATURDAY at UQ. Be there or be a lambda cube! https://luma.com/0je3g6ft
Thanks to UQ and Professor Paul Vrbik for venue arrangement, Sirius-Beta Labs for lunch, and Thea and George for hosting this edition (yes, I am a lambda cube this time).
#Haskell #Idris #Agda #Clojure #Scala #Rust #Scheme #Lisp #Fsharp #Erlang #Gleam #Racket #Elixir #Elm #PureScript
-
๐๐ฑ๐ฟ๐ถ๐ ๐๐น๐ฏ๐ฎ ๐๐ถ๐ป๐ฑ๐ ๐ฑ๐ฎ๐ ๐ป๐ถ๐ฒ๐๐๐ฒ ๐๐ผ๐ป๐ฑ-๐ณ๐ถ๐น๐บ ๐ป๐ถ๐ฒ๐ '๐๐ผ๐ธ๐ฒ' ๐บ๐ผ๐ฒ๐ ๐๐ผ๐ฟ๐ฑ๐ฒ๐ป
Idris Elba is van mening dat de nieuwe James Bond-film niet "woke" moet worden. "Ik denk dat je trouw moet blijven aan wat het is: escapisme. Probeer niet in te spelen op de smaak van de wereld", vertelt Elba, die volgens geruchten Bond-acteur Daniel Craig zou opvolgen, aan het Britse magazine GQ.
-
-
RE: https://hachyderm.io/@BoydStephenSmithJr/116072082621033639
It's been about a year since my last position ended. Please let me know anywhere to apply for #Haskell, #Idris, or #Purescript employment.
-
๐ฅ Ah, yes, the classic "let's throw neural networks and #types in a blender and see what mess comes out" approach. ๐คโจ The article rambles on about separating training and typechecking like it's some groundbreaking revelation, when really, it's just playing code Jenga with fancy names like #Idris, #Lean, and #Agda. ๐งฉ๐
https://www.brunogavranovic.com/posts/2026-04-20-types-and-neural-networks.html #neuralnetworks #codeJenga #HackerNews #ngated -
Lecture: Idris โ Reviving an Early Unix Clone
by Michael Engel @me_
https://wiki.dfupdate.se/projekt:updateringar#upcomingWhen: 2026-04-11, 19:00 CEST
Where: Svartbรคcksgatan 65, 75333 Uppsala
Stream: https://bbb.cryptoparty.se/rooms/upd-0mo-m2u-aq8/joinThe ideas behind #Unix have significant impact on the design of a large number of #operatingsystems. In addition to more recent systems modelled after Unix, such as Minix or Linux, early operating systems inspired by Unix, such as Coherent, Venix, and also the #Idris OS developed by the company Whitesmiths, existed already in the 1970s. For many years, almost the only information available about Idris was a short Wikipedia page. This has changed in 2025 when a #PD68 computer, an Idris-based Motorola 68000 system developed as a project of computer hobbyists in Sweden and Norway, was donated to the computer museum in Dalby. Subsequently, an international cooperation also managed to get hold of and run the #Atari ST port of Idris, which extends the regular Idris system by providing a version of the X10 window system. In this talk, we give details about the recovery of Idris using emulation on different abstraction layers. In addition, we give an introduction to the structure of Idris for Motorola 68k-based systems with a focus on enabling Unix to run on computers lacking virtual memory management.
See you there!
-
In #Birkenhead on Monday? Join us from 6pm every Monday at our new event!
Monday :: Programming -> Fun -> IO () is a close-knit group of programmers looking to improve their skills alongside others. Each session, we decide what language or concepts we're going to focus on as a group, returning at the end to discuss what we've built or learned.
Focus on improving your programming skills in good company!
#programming #rust #python #perl #c #cpp #rust #zig #go #assembly #fortran #haskell #idris
-
Okay, I'm declaring my #idris library https://gitlab.com/bss03/type-aligned done. I don't have any issues/tasks remaining. `pack-db` should automatically pick up the latest commit during the next update, within 24 hours.
I'm still open for all kinds of feedback, but until I get some, I think I'm going to switch to a PureScript project for a bit. I need to update to spago 1.x and figure out how to publish packages in that ecosystem. I need left Kan extensions to do the nseted (non-uniform) folds I was working on.
Plus, I feel like working with Halogen might make me more comfortable with React, or at least make me more interested in polishing those skills for a potential employer.
-
Worked through the first round of issues for #idris type-aligned, but I came up with a couple more today: https://gitlab.com/bss03/type-aligned/-/issues
As usual, any feedback is appreciated.
-
Ugh. I just SUCKED in a online 80 minute coding assessment for a new job.
I tried to do part of it in Haskell, which was a bad idea because they really wanted you to use an *array* algorithm, so the *list* solution I put forth just did not scale. (I needed a bit of a sliding window; the list approach was recalculating way too much.)
The other two parts were in React and Spring Boot and while I have used those, it's been a few years. The React problems was particularly difficult; I only got the smallest bit done. The Spring Boot I think I almost had, but I was missing something basic, so the tests weren't finding my perfectly good service.
The "employer" nodes said use whatever resources you want just don't copy in code. But, the proctor tried to lock their tab to fullscreen all the time, which made looking things up harder than it should have been. And, with frameworks that large, I think there are few developers that don't look things up (or consult an "AI") every damn day. Or maybe I just suck.
I doubt I'll hear any more from that employer. Anyone hiring for #Idris work? ;)
-
Love how #Idris REPL greets you
Constructors are red / Types are blue / Your code always works / Because Idris loves you
-
If anyone want to help out an #Idris project with some relatively small tasks, I finally took the time to organize my thoughts into some relatively stand-alone issues for my current library project: https://gitlab.com/bss03/type-aligned/-/issues
Might be a good chance to practice reading and writing Idris if it's something you want to learn.
Also, I welcome any feedback from bike-shedding to foundation redesign. I might not apply it, but I will not consider it personal criticism.
-
New #idris problem. I'm trying to use the `--dumpcases` option documented https://idris2.readthedocs.io/en/latest/reference/debugging.html#compiler-flags and implemented around https://github.com/idris-lang/Idris2/blob/main/src/Compiler/Common.idr#L362 but (a) no file is created and (b) I don't see the "Dumping case trees to " output.
EDIT: I only get dumpcases output when I compile an _executable_ not library modules. My expectations were wrong. (I thought I'd left this in draft.)
If I turn up the compiler logging level to 2, I do see messages beginning "LOG declare.def:2: Case tree for " but the specified output file continues to not exist.
```
$ pack clean
[ info ] Found local config at /home/bss/git/type-aligned/pack.toml
[ info ] Using package collection nightly-260228
$ idris2 --dumpcases idris2_dumpcases_output.txt --build type-aligned.ipkg
1/6: Building TypeAligned.Sum (src/TypeAligned/Sum.idr)
2/6: Building TypeAligned.ZeroOne (src/TypeAligned/ZeroOne.idr)
3/6: Building TypeAligned.Duo (src/TypeAligned/Duo.idr)
4/6: Building TypeAligned.Trio (src/TypeAligned/Trio.idr)
5/6: Building TypeAligned.TwoThree (src/TypeAligned/TwoThree.idr)
6/6: Building TypeAligned (src/TypeAligned.idr)
$ ls
build CHANGELOG CONTRIBUTING.md LICENSE pack.toml README.md src test type-aligned.ipkg
``` -
I guess I need to join the #Idris mailing list. I have something I think of as a "bug", but is arguably a feature request so I should at least ping the list to see what they think before opening a bug.
The docs say: "To help with resolution, the arguments of an implementation must be constructors (either data or type constructors) or variables (i.e. you cannot give an implementation for a function)."
But, the compiler currently accepts:
```
import Data.DPair
import Data.Nat%default total
0 LtePair : Nat -> Nat -> Type
LtePair x y = (l : Nat ** (l = x, Exists (\d => x + d = y)))lteToDPair : LTE x y -> LtePair x y
lteToDPair (LTEZero {right}) = (0 ** (Refl, Evidence right (irrelevantEq (plusZeroLeftNeutral right))))
lteToDPair (LTESucc plte) =
case lteToDPair plte of
(px ** (eqpx, Evidence d eqdxy)) => (S px ** (cong S eqpx, Evidence d (cong S eqdxy)))Show (LtePair x y) where
show (l ** _) = show l ++ " <="
```That `Show` instance is on a type alias, not a constructor, right?
The compiler then can't resolve the instance in this code (following the above):
```
missingShow : String
missingShow = show x
where
x : LtePair 0 3
x = lteToDPair LTEZero
```(error message: "While processing right hand side of missingShow. Can't find an implementation for Show (l : Nat ** (l = 0, Exists (\d => 0 + d = 3))).")
Naming the instance at definition and use (bypassing resolution) DOES work. BUT, you can't use this workaround to cause this implementation to the used/found as part of a resolution chain, for example to satisfy the constraint of another instance. So, the compiler will sometimes report a missing implementation that is visually present (at least to mine eyes).
I think it's a bug that the instance is allowed to be defined. My feature request would be to the compiler emit an error (or at least a warning) at the implementation definition.
-
-
Help. #Idris is refusing to find one of my definitions again, and I don't understand:
EDIT: My new understanding: https://hachyderm.io/@BoydStephenSmithJr/116152507573037446
```
$ pack build && ( cd test && pack build )
[ info ] Found local config at /path/type-aligned/pack.toml
[ info ] Using package collection nightly-260227
[ info ] Building: type-aligned
[ info ] Found local config at /path/type-aligned/pack.toml
[ info ] Using package collection nightly-260227
[ info ] Building: type-aligned-test
[ build ] 1/2: Building AllTests (src/AllTests.idr)
[ build ] Error: While processing right hand side of propMapParts. Can't find an implementation for Show (LtePair x y).
[ build ]
[ build ] AllTests:343:7--343:19
[ build ] 339 | (x ** (y ** lh)) <- forAll GenLte
[ build ] 340 | (w ** i) <- forAll (GenLength >>= (\cnt => alignedR (genLteR GenNat) cnt x))
[ build ] 341 | (z ** t) <- forAll (GenLength >>= alignedL (genLteL GenNat) y)
[ build ] 342 | diffTypeAligned
[ build ] 343 | @{type_aligned} -- @{lte_pair}
[ build ] ^^^^^^^^^^^^
[ build ]
[ fatal ] Error when executing system command.
Command: "/path/idris2" "--build" "test.ipkg"
Error code: 1
$ nl -ba test/src/AllTests.idr | tail -n +229 | head -n 5
229 heqLtePair (l ** _) (r ** _) = l == r
230
231 [lte_pair] Show (LtePair x y) where
232 show (l ** _) = show l ++ " <="
233
```Same error if the "lte_pair" name is removed.
-
I'm sure maintaining the pack-db for #idris is a thankless job, so I don't want to _bother_ any of the people doing it...
BUT, I'm wondering how to make sure the tests in my package(s) run as part of checking the package collection. The test package is mentioned in the pack.toml so that `pack test $pkg` works, and I can't find documentation for having that run during package collection checking, so I guess I need to ask someone that does know.
EDIT: I'm an idiot, I just need to make sure and include the `test` key in the pack-db HEAD.toml stanza for my package(s). I had a copy-paste mimic blinders on too much when I was adding packages.